[tint] Move WGSL-exclusive enums back to lang/wgsl
From lang/core.
Change-Id: I87d91f7d0653313c52e16b7a08d2d73ffb564369
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/151920
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/src/tint/api/BUILD.bazel b/src/tint/api/BUILD.bazel
index 950f202..00f3628 100644
--- a/src/tint/api/BUILD.bazel
+++ b/src/tint/api/BUILD.bazel
@@ -39,6 +39,7 @@
"//src/tint/lang/core/type",
"//src/tint/lang/hlsl/writer/common",
"//src/tint/lang/spirv/reader/common",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/reader",
diff --git a/src/tint/api/BUILD.cmake b/src/tint/api/BUILD.cmake
index 0329dcd..05e09ff 100644
--- a/src/tint/api/BUILD.cmake
+++ b/src/tint/api/BUILD.cmake
@@ -41,6 +41,7 @@
tint_lang_core_type
tint_lang_hlsl_writer_common
tint_lang_spirv_reader_common
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_reader
diff --git a/src/tint/api/BUILD.gn b/src/tint/api/BUILD.gn
index fa28e6f..e70d3af 100644
--- a/src/tint/api/BUILD.gn
+++ b/src/tint/api/BUILD.gn
@@ -38,6 +38,7 @@
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/hlsl/writer/common",
"${tint_src_dir}/lang/spirv/reader/common",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/reader",
diff --git a/src/tint/cmd/bench/BUILD.bazel b/src/tint/cmd/bench/BUILD.bazel
index 450439a..7995335 100644
--- a/src/tint/cmd/bench/BUILD.bazel
+++ b/src/tint/cmd/bench/BUILD.bazel
@@ -35,6 +35,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
@@ -66,6 +67,7 @@
"//src/tint/lang/core/type",
"//src/tint/lang/core:bench",
"//src/tint/lang/spirv/reader/common",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/reader",
@@ -73,6 +75,7 @@
"//src/tint/lang/wgsl/sem",
"//src/tint/lang/wgsl/writer",
"//src/tint/lang/wgsl/writer:bench",
+ "//src/tint/lang/wgsl:bench",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
"//src/tint/utils/ice",
diff --git a/src/tint/cmd/bench/BUILD.cmake b/src/tint/cmd/bench/BUILD.cmake
index e6ec3dd..fdde451 100644
--- a/src/tint/cmd/bench/BUILD.cmake
+++ b/src/tint/cmd/bench/BUILD.cmake
@@ -34,6 +34,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
@@ -66,6 +67,7 @@
tint_lang_core_type
tint_lang_core_bench
tint_lang_spirv_reader_common
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_reader
@@ -73,6 +75,7 @@
tint_lang_wgsl_sem
tint_lang_wgsl_writer
tint_lang_wgsl_writer_bench
+ tint_lang_wgsl_bench
tint_utils_containers
tint_utils_diagnostic
tint_utils_ice
diff --git a/src/tint/cmd/bench/BUILD.gn b/src/tint/cmd/bench/BUILD.gn
index 484acf7..e17e2de 100644
--- a/src/tint/cmd/bench/BUILD.gn
+++ b/src/tint/cmd/bench/BUILD.gn
@@ -34,6 +34,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
diff --git a/src/tint/cmd/common/BUILD.bazel b/src/tint/cmd/common/BUILD.bazel
index 4215394..7cf4691 100644
--- a/src/tint/cmd/common/BUILD.bazel
+++ b/src/tint/cmd/common/BUILD.bazel
@@ -40,6 +40,7 @@
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
"//src/tint/lang/spirv/reader/common",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/inspector",
"//src/tint/lang/wgsl/program",
@@ -86,6 +87,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/resolver",
diff --git a/src/tint/cmd/common/BUILD.cmake b/src/tint/cmd/common/BUILD.cmake
index 01f44f5..a10c867 100644
--- a/src/tint/cmd/common/BUILD.cmake
+++ b/src/tint/cmd/common/BUILD.cmake
@@ -39,6 +39,7 @@
tint_lang_core_constant
tint_lang_core_type
tint_lang_spirv_reader_common
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_inspector
tint_lang_wgsl_program
@@ -87,6 +88,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_resolver
diff --git a/src/tint/cmd/common/BUILD.gn b/src/tint/cmd/common/BUILD.gn
index 2b10c18..b66d0ba 100644
--- a/src/tint/cmd/common/BUILD.gn
+++ b/src/tint/cmd/common/BUILD.gn
@@ -43,6 +43,7 @@
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/spirv/reader/common",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/inspector",
"${tint_src_dir}/lang/wgsl/program",
@@ -87,6 +88,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/resolver",
diff --git a/src/tint/cmd/info/BUILD.bazel b/src/tint/cmd/info/BUILD.bazel
index 9e5f3b2..3b9fc16 100644
--- a/src/tint/cmd/info/BUILD.bazel
+++ b/src/tint/cmd/info/BUILD.bazel
@@ -35,6 +35,7 @@
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
"//src/tint/lang/spirv/reader/common",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/inspector",
"//src/tint/lang/wgsl/program",
diff --git a/src/tint/cmd/info/BUILD.cmake b/src/tint/cmd/info/BUILD.cmake
index 10870a1..d15b74e 100644
--- a/src/tint/cmd/info/BUILD.cmake
+++ b/src/tint/cmd/info/BUILD.cmake
@@ -36,6 +36,7 @@
tint_lang_core_constant
tint_lang_core_type
tint_lang_spirv_reader_common
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_inspector
tint_lang_wgsl_program
diff --git a/src/tint/cmd/info/BUILD.gn b/src/tint/cmd/info/BUILD.gn
index c049a44..e9d84ce 100644
--- a/src/tint/cmd/info/BUILD.gn
+++ b/src/tint/cmd/info/BUILD.gn
@@ -35,6 +35,7 @@
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/spirv/reader/common",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/inspector",
"${tint_src_dir}/lang/wgsl/program",
diff --git a/src/tint/cmd/loopy/BUILD.bazel b/src/tint/cmd/loopy/BUILD.bazel
index 2d2910c..194e728 100644
--- a/src/tint/cmd/loopy/BUILD.bazel
+++ b/src/tint/cmd/loopy/BUILD.bazel
@@ -39,6 +39,7 @@
"//src/tint/lang/core/type",
"//src/tint/lang/hlsl/writer/common",
"//src/tint/lang/spirv/reader/common",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/helpers",
"//src/tint/lang/wgsl/inspector",
diff --git a/src/tint/cmd/loopy/BUILD.cmake b/src/tint/cmd/loopy/BUILD.cmake
index 0e12784..86eee38 100644
--- a/src/tint/cmd/loopy/BUILD.cmake
+++ b/src/tint/cmd/loopy/BUILD.cmake
@@ -40,6 +40,7 @@
tint_lang_core_type
tint_lang_hlsl_writer_common
tint_lang_spirv_reader_common
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_helpers
tint_lang_wgsl_inspector
diff --git a/src/tint/cmd/loopy/BUILD.gn b/src/tint/cmd/loopy/BUILD.gn
index fa59018..4c54f72 100644
--- a/src/tint/cmd/loopy/BUILD.gn
+++ b/src/tint/cmd/loopy/BUILD.gn
@@ -39,6 +39,7 @@
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/hlsl/writer/common",
"${tint_src_dir}/lang/spirv/reader/common",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/helpers",
"${tint_src_dir}/lang/wgsl/inspector",
diff --git a/src/tint/cmd/tint/BUILD.bazel b/src/tint/cmd/tint/BUILD.bazel
index 410ea9d..321c15e 100644
--- a/src/tint/cmd/tint/BUILD.bazel
+++ b/src/tint/cmd/tint/BUILD.bazel
@@ -39,6 +39,7 @@
"//src/tint/lang/core/type",
"//src/tint/lang/hlsl/writer/common",
"//src/tint/lang/spirv/reader/common",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/helpers",
diff --git a/src/tint/cmd/tint/BUILD.cmake b/src/tint/cmd/tint/BUILD.cmake
index 32fc985..1d500ac 100644
--- a/src/tint/cmd/tint/BUILD.cmake
+++ b/src/tint/cmd/tint/BUILD.cmake
@@ -40,6 +40,7 @@
tint_lang_core_type
tint_lang_hlsl_writer_common
tint_lang_spirv_reader_common
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_helpers
diff --git a/src/tint/cmd/tint/BUILD.gn b/src/tint/cmd/tint/BUILD.gn
index b53853e..e6c897c 100644
--- a/src/tint/cmd/tint/BUILD.gn
+++ b/src/tint/cmd/tint/BUILD.gn
@@ -39,6 +39,7 @@
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/hlsl/writer/common",
"${tint_src_dir}/lang/spirv/reader/common",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/helpers",
diff --git a/src/tint/cmd/tint/main.cc b/src/tint/cmd/tint/main.cc
index da47439..31d7286 100644
--- a/src/tint/cmd/tint/main.cc
+++ b/src/tint/cmd/tint/main.cc
@@ -718,10 +718,10 @@
// If subgroups are used, bump the version to 2.1.
auto msl_version = tint::msl::validate::MslVersion::kMsl_1_2;
for (auto* enable : program->AST().Enables()) {
- if (enable->HasExtension(tint::core::Extension::kChromiumExperimentalSubgroups)) {
+ if (enable->HasExtension(tint::wgsl::Extension::kChromiumExperimentalSubgroups)) {
msl_version = std::max(msl_version, tint::msl::validate::MslVersion::kMsl_2_1);
}
- if (enable->HasExtension(tint::core::Extension::kChromiumExperimentalPixelLocal)) {
+ if (enable->HasExtension(tint::wgsl::Extension::kChromiumExperimentalPixelLocal)) {
msl_version = std::max(msl_version, tint::msl::validate::MslVersion::kMsl_2_3);
}
}
@@ -806,7 +806,7 @@
auto enable_list = program->AST().Enables();
bool dxc_require_16bit_types = false;
for (auto* enable : enable_list) {
- if (enable->HasExtension(tint::core::Extension::kF16)) {
+ if (enable->HasExtension(tint::wgsl::Extension::kF16)) {
dxc_require_16bit_types = true;
break;
}
diff --git a/src/tint/fuzzers/tint_common_fuzzer.cc b/src/tint/fuzzers/tint_common_fuzzer.cc
index 421cbbc..93ec9ea 100644
--- a/src/tint/fuzzers/tint_common_fuzzer.cc
+++ b/src/tint/fuzzers/tint_common_fuzzer.cc
@@ -189,7 +189,7 @@
}
// Helper that returns `true` if the program uses the given extension.
- auto uses_extension = [&program](tint::core::Extension extension) {
+ auto uses_extension = [&program](tint::wgsl::Extension extension) {
for (auto* enable : program.AST().Enables()) {
if (enable->HasExtension(extension)) {
return true;
@@ -301,7 +301,7 @@
#if TINT_BUILD_SPV_WRITER
// Skip fuzzing the SPIR-V writer when the `clamp_frag_depth` option is used with a
// module that already contains push constants.
- if (uses_extension(tint::core::Extension::kChromiumExperimentalPushConstant) &&
+ if (uses_extension(tint::wgsl::Extension::kChromiumExperimentalPushConstant) &&
options_spirv_.clamp_frag_depth) {
return 0;
}
diff --git a/src/tint/fuzzers/tint_ir_roundtrip_fuzzer.cc b/src/tint/fuzzers/tint_ir_roundtrip_fuzzer.cc
index 4df9f49..74e198f 100644
--- a/src/tint/fuzzers/tint_ir_roundtrip_fuzzer.cc
+++ b/src/tint/fuzzers/tint_ir_roundtrip_fuzzer.cc
@@ -48,12 +48,12 @@
auto is_unsupported = [](const tint::ast::Enable* enable) {
for (auto ext : enable->extensions) {
switch (ext->name) {
- case tint::core::Extension::kChromiumExperimentalDp4A:
- case tint::core::Extension::kChromiumExperimentalFullPtrParameters:
- case tint::core::Extension::kChromiumExperimentalPixelLocal:
- case tint::core::Extension::kChromiumExperimentalPushConstant:
- case tint::core::Extension::kChromiumInternalDualSourceBlending:
- case tint::core::Extension::kChromiumInternalRelaxedUniformLayout:
+ case tint::wgsl::Extension::kChromiumExperimentalDp4A:
+ case tint::wgsl::Extension::kChromiumExperimentalFullPtrParameters:
+ case tint::wgsl::Extension::kChromiumExperimentalPixelLocal:
+ case tint::wgsl::Extension::kChromiumExperimentalPushConstant:
+ case tint::wgsl::Extension::kChromiumInternalDualSourceBlending:
+ case tint::wgsl::Extension::kChromiumInternalRelaxedUniformLayout:
return true;
default:
break;
diff --git a/src/tint/lang/core/BUILD.bazel b/src/tint/lang/core/BUILD.bazel
index ce01f3f..8f69c1d 100644
--- a/src/tint/lang/core/BUILD.bazel
+++ b/src/tint/lang/core/BUILD.bazel
@@ -32,9 +32,6 @@
"binary_op.cc",
"builtin.cc",
"builtin_value.cc",
- "diagnostic_rule.cc",
- "diagnostic_severity.cc",
- "extension.cc",
"function.cc",
"interpolation_sampling.cc",
"interpolation_type.cc",
@@ -50,10 +47,7 @@
"binary_op.h",
"builtin.h",
"builtin_value.h",
- "diagnostic_rule.h",
- "diagnostic_severity.h",
"evaluation_stage.h",
- "extension.h",
"fluent_types.h",
"function.h",
"interpolation.h",
@@ -65,14 +59,10 @@
"unary_op.h",
],
deps = [
- "//src/tint/utils/containers",
- "//src/tint/utils/diagnostic",
"//src/tint/utils/ice",
"//src/tint/utils/macros",
- "//src/tint/utils/math",
"//src/tint/utils/memory",
"//src/tint/utils/result",
- "//src/tint/utils/rtti",
"//src/tint/utils/text",
"//src/tint/utils/traits",
],
@@ -88,9 +78,6 @@
"attribute_test.cc",
"builtin_test.cc",
"builtin_value_test.cc",
- "diagnostic_rule_test.cc",
- "diagnostic_severity_test.cc",
- "extension_test.cc",
"interpolation_sampling_test.cc",
"interpolation_type_test.cc",
"number_test.cc",
@@ -101,6 +88,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
@@ -130,23 +118,12 @@
"attribute_bench.cc",
"builtin_bench.cc",
"builtin_value_bench.cc",
- "diagnostic_rule_bench.cc",
- "diagnostic_severity_bench.cc",
- "extension_bench.cc",
"interpolation_sampling_bench.cc",
"interpolation_type_bench.cc",
"texel_format_bench.cc",
],
deps = [
"//src/tint/lang/core",
- "//src/tint/utils/containers",
- "//src/tint/utils/diagnostic",
- "//src/tint/utils/ice",
- "//src/tint/utils/macros",
- "//src/tint/utils/math",
- "//src/tint/utils/memory",
- "//src/tint/utils/rtti",
- "//src/tint/utils/text",
"//src/tint/utils/traits",
],
copts = COPTS,
diff --git a/src/tint/lang/core/BUILD.cmake b/src/tint/lang/core/BUILD.cmake
index 6be18a3..5e02dac 100644
--- a/src/tint/lang/core/BUILD.cmake
+++ b/src/tint/lang/core/BUILD.cmake
@@ -43,13 +43,7 @@
lang/core/builtin.h
lang/core/builtin_value.cc
lang/core/builtin_value.h
- lang/core/diagnostic_rule.cc
- lang/core/diagnostic_rule.h
- lang/core/diagnostic_severity.cc
- lang/core/diagnostic_severity.h
lang/core/evaluation_stage.h
- lang/core/extension.cc
- lang/core/extension.h
lang/core/fluent_types.h
lang/core/function.cc
lang/core/function.h
@@ -69,14 +63,10 @@
)
tint_target_add_dependencies(tint_lang_core lib
- tint_utils_containers
- tint_utils_diagnostic
tint_utils_ice
tint_utils_macros
- tint_utils_math
tint_utils_memory
tint_utils_result
- tint_utils_rtti
tint_utils_text
tint_utils_traits
)
@@ -91,9 +81,6 @@
lang/core/attribute_test.cc
lang/core/builtin_test.cc
lang/core/builtin_value_test.cc
- lang/core/diagnostic_rule_test.cc
- lang/core/diagnostic_severity_test.cc
- lang/core/extension_test.cc
lang/core/interpolation_sampling_test.cc
lang/core/interpolation_type_test.cc
lang/core/number_test.cc
@@ -105,6 +92,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
@@ -137,9 +125,6 @@
lang/core/attribute_bench.cc
lang/core/builtin_bench.cc
lang/core/builtin_value_bench.cc
- lang/core/diagnostic_rule_bench.cc
- lang/core/diagnostic_severity_bench.cc
- lang/core/extension_bench.cc
lang/core/interpolation_sampling_bench.cc
lang/core/interpolation_type_bench.cc
lang/core/texel_format_bench.cc
@@ -147,13 +132,5 @@
tint_target_add_dependencies(tint_lang_core_bench bench
tint_lang_core
- tint_utils_containers
- tint_utils_diagnostic
- tint_utils_ice
- tint_utils_macros
- tint_utils_math
- tint_utils_memory
- tint_utils_rtti
- tint_utils_text
tint_utils_traits
)
diff --git a/src/tint/lang/core/BUILD.gn b/src/tint/lang/core/BUILD.gn
index d7f838f..c096493 100644
--- a/src/tint/lang/core/BUILD.gn
+++ b/src/tint/lang/core/BUILD.gn
@@ -43,13 +43,7 @@
"builtin.h",
"builtin_value.cc",
"builtin_value.h",
- "diagnostic_rule.cc",
- "diagnostic_rule.h",
- "diagnostic_severity.cc",
- "diagnostic_severity.h",
"evaluation_stage.h",
- "extension.cc",
- "extension.h",
"fluent_types.h",
"function.cc",
"function.h",
@@ -68,14 +62,10 @@
"unary_op.h",
]
deps = [
- "${tint_src_dir}/utils/containers",
- "${tint_src_dir}/utils/diagnostic",
"${tint_src_dir}/utils/ice",
"${tint_src_dir}/utils/macros",
- "${tint_src_dir}/utils/math",
"${tint_src_dir}/utils/memory",
"${tint_src_dir}/utils/result",
- "${tint_src_dir}/utils/rtti",
"${tint_src_dir}/utils/text",
"${tint_src_dir}/utils/traits",
]
@@ -89,9 +79,6 @@
"attribute_test.cc",
"builtin_test.cc",
"builtin_value_test.cc",
- "diagnostic_rule_test.cc",
- "diagnostic_severity_test.cc",
- "extension_test.cc",
"interpolation_sampling_test.cc",
"interpolation_type_test.cc",
"number_test.cc",
@@ -103,6 +90,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
diff --git a/src/tint/lang/core/constant/BUILD.bazel b/src/tint/lang/core/constant/BUILD.bazel
index 95c577b..402a7e3 100644
--- a/src/tint/lang/core/constant/BUILD.bazel
+++ b/src/tint/lang/core/constant/BUILD.bazel
@@ -91,6 +91,7 @@
"//src/tint/lang/core/intrinsic",
"//src/tint/lang/core/type",
"//src/tint/lang/core/type:test",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/reader",
diff --git a/src/tint/lang/core/constant/BUILD.cmake b/src/tint/lang/core/constant/BUILD.cmake
index c8a657a..d3829a2 100644
--- a/src/tint/lang/core/constant/BUILD.cmake
+++ b/src/tint/lang/core/constant/BUILD.cmake
@@ -90,6 +90,7 @@
tint_lang_core_intrinsic
tint_lang_core_type
tint_lang_core_type_test
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_reader
diff --git a/src/tint/lang/core/constant/BUILD.gn b/src/tint/lang/core/constant/BUILD.gn
index cbb4a13..39ae73f 100644
--- a/src/tint/lang/core/constant/BUILD.gn
+++ b/src/tint/lang/core/constant/BUILD.gn
@@ -93,6 +93,7 @@
"${tint_src_dir}/lang/core/intrinsic",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/core/type:unittests",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/reader",
diff --git a/src/tint/lang/core/constant/eval_binary_op_test.cc b/src/tint/lang/core/constant/eval_binary_op_test.cc
index ed064a7..8860d48 100644
--- a/src/tint/lang/core/constant/eval_binary_op_test.cc
+++ b/src/tint/lang/core/constant/eval_binary_op_test.cc
@@ -84,7 +84,7 @@
using ConstEvalBinaryOpTest = ConstEvalTestWithParam<std::tuple<core::BinaryOp, Case>>;
TEST_P(ConstEvalBinaryOpTest, Test) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto op = std::get<0>(GetParam());
auto& c = std::get<1>(GetParam());
diff --git a/src/tint/lang/core/constant/eval_builtin_test.cc b/src/tint/lang/core/constant/eval_builtin_test.cc
index 7b1e198..6a31120 100644
--- a/src/tint/lang/core/constant/eval_builtin_test.cc
+++ b/src/tint/lang/core/constant/eval_builtin_test.cc
@@ -142,7 +142,7 @@
using ConstEvalBuiltinTest = ConstEvalTestWithParam<std::tuple<core::Function, Case>>;
TEST_P(ConstEvalBuiltinTest, Test) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto builtin = std::get<0>(GetParam());
auto& c = std::get<1>(GetParam());
diff --git a/src/tint/lang/core/constant/eval_construction_test.cc b/src/tint/lang/core/constant/eval_construction_test.cc
index f9f7c29..36b5ace 100644
--- a/src/tint/lang/core/constant/eval_construction_test.cc
+++ b/src/tint/lang/core/constant/eval_construction_test.cc
@@ -98,7 +98,7 @@
}
TEST_F(ConstEvalTest, Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Expr(9.9_h);
WrapInFunction(expr);
@@ -140,7 +140,7 @@
}
using ConstEvalZeroInitTest = ConstEvalTestWithParam<Case>;
TEST_P(ConstEvalZeroInitTest, Test) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto& param = GetParam();
auto ty = param.type(*this);
auto* expr = Call(ty);
@@ -296,7 +296,7 @@
}
TEST_F(ConstEvalTest, Vec3_ZeroInit_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<vec3<f16>>();
WrapInFunction(expr);
@@ -443,7 +443,7 @@
}
TEST_F(ConstEvalTest, Vec3_Splat_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<vec3<f16>>(9.9_h);
WrapInFunction(expr);
@@ -651,7 +651,7 @@
}
TEST_F(ConstEvalTest, Vec3_FullConstruct_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<vec3<f16>>(1_h, 2_h, 3_h);
WrapInFunction(expr);
@@ -914,7 +914,7 @@
}
TEST_F(ConstEvalTest, Vec3_MixConstruct_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<vec3<f16>>(1_h, Call<vec2<f16>>(2_h, 3_h));
WrapInFunction(expr);
@@ -945,7 +945,7 @@
}
TEST_F(ConstEvalTest, Vec3_MixConstruct_f16_all_10) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<vec3<f16>>(10_h, Call<vec2<f16>>(10_h, 10_h));
WrapInFunction(expr);
@@ -976,7 +976,7 @@
}
TEST_F(ConstEvalTest, Vec3_MixConstruct_f16_all_positive_0) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<vec3<f16>>(0_h, Call<vec2<f16>>(0_h, 0_h));
WrapInFunction(expr);
@@ -1007,7 +1007,7 @@
}
TEST_F(ConstEvalTest, Vec3_MixConstruct_f16_all_negative_0) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<vec3<f16>>(Call<vec2<f16>>(-0_h, -0_h), -0_h);
WrapInFunction(expr);
@@ -1038,7 +1038,7 @@
}
TEST_F(ConstEvalTest, Vec3_MixConstruct_f16_mixed_sign_0) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<vec3<f16>>(0_h, Call<vec2<f16>>(-0_h, 0_h));
WrapInFunction(expr);
@@ -1198,7 +1198,7 @@
}
TEST_F(ConstEvalTest, Mat2x3_ZeroInit_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<mat2x3<f16>>();
WrapInFunction(expr);
@@ -1513,7 +1513,7 @@
using ResolverConstEvalArrayInitTest = ConstEvalTestWithParam<Case>;
TEST_P(ResolverConstEvalArrayInitTest, Test) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto& param = GetParam();
auto* expr = param.input.Expr(*this);
auto* a = Const("a", expr);
@@ -1686,7 +1686,7 @@
}
TEST_F(ConstEvalTest, Struct_ZeroInit) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* s = Structure("S", Vector{
Member("a", ty.i32()),
Member("b", ty.u32()),
@@ -1729,7 +1729,7 @@
}
TEST_F(ConstEvalTest, Struct_Nested_ZeroInit) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* inner = Structure("Inner", Vector{
Member("a", ty.i32()),
Member("b", ty.u32()),
@@ -1812,7 +1812,7 @@
}
TEST_F(ConstEvalTest, Struct_MixedScalars_ZeroInit) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{
Member("m1", ty.i32()),
@@ -1924,7 +1924,7 @@
}
TEST_F(ConstEvalTest, Struct_MixedVectors_ZeroInit) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{
Member("m1", ty.vec2<i32>()),
@@ -2055,7 +2055,7 @@
}
TEST_F(ConstEvalTest, Struct_MixedScalars_Construct) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{
Member("m1", ty.i32()),
@@ -2106,7 +2106,7 @@
}
TEST_F(ConstEvalTest, Struct_MixedVectors_Construct) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{
Member("m1", ty.vec2<i32>()),
diff --git a/src/tint/lang/core/constant/eval_conversion_test.cc b/src/tint/lang/core/constant/eval_conversion_test.cc
index c55bea2..2ff6ce6 100644
--- a/src/tint/lang/core/constant/eval_conversion_test.cc
+++ b/src/tint/lang/core/constant/eval_conversion_test.cc
@@ -284,7 +284,7 @@
}
TEST_F(ConstEvalTest, Vec3_Convert_f16_to_i32) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<vec3<i32>>(Call<vec3<f16>>(1.1_h, 2.2_h, 3.3_h));
WrapInFunction(expr);
@@ -315,7 +315,7 @@
}
TEST_F(ConstEvalTest, Vec3_Convert_u32_to_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<vec3<f16>>(Call<vec3<u32>>(10_u, 20_u, 30_u));
WrapInFunction(expr);
@@ -404,7 +404,7 @@
}
TEST_F(ConstEvalTest, Vec3_Convert_Large_f32_to_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<vec3<f16>>(Source{{12, 34}}, Call<vec3<f32>>(1e10_f, 0_f, 0_f));
WrapInFunction(expr);
@@ -414,7 +414,7 @@
}
TEST_F(ConstEvalTest, Vec3_Convert_Small_f32_to_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
// These values are chosen to force underflow when converting to f16.
// When the result is zero, the sign bit is *not* guaranteed to be preserved.
diff --git a/src/tint/lang/core/constant/eval_indexing_test.cc b/src/tint/lang/core/constant/eval_indexing_test.cc
index 90cd759..71d7a02 100644
--- a/src/tint/lang/core/constant/eval_indexing_test.cc
+++ b/src/tint/lang/core/constant/eval_indexing_test.cc
@@ -68,7 +68,7 @@
using ConstEvalSwizzleTest = ConstEvalTestWithParam<Case>;
TEST_P(ConstEvalSwizzleTest, Test) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto& param = GetParam();
auto* expr = MemberAccessor(param.input.Expr(*this), param.swizzle);
auto* a = Const("a", expr);
diff --git a/src/tint/lang/core/constant/eval_member_access_test.cc b/src/tint/lang/core/constant/eval_member_access_test.cc
index 4bf4001..0d7b71f 100644
--- a/src/tint/lang/core/constant/eval_member_access_test.cc
+++ b/src/tint/lang/core/constant/eval_member_access_test.cc
@@ -258,7 +258,7 @@
using ConstEvalArrayAccessTest = ConstEvalTestWithParam<Case>;
TEST_P(ConstEvalArrayAccessTest, Test) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto& param = GetParam();
auto* expr = param.input.Expr(*this);
@@ -333,7 +333,7 @@
using ConstEvalVectorAccessTest = ConstEvalTestWithParam<Case>;
TEST_P(ConstEvalVectorAccessTest, Test) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto& param = GetParam();
auto* expr = param.input.Expr(*this);
diff --git a/src/tint/lang/core/constant/eval_unary_op_test.cc b/src/tint/lang/core/constant/eval_unary_op_test.cc
index 668cf21..a7a7511 100644
--- a/src/tint/lang/core/constant/eval_unary_op_test.cc
+++ b/src/tint/lang/core/constant/eval_unary_op_test.cc
@@ -42,7 +42,7 @@
using ConstEvalUnaryOpTest = ConstEvalTestWithParam<std::tuple<core::UnaryOp, Case>>;
TEST_P(ConstEvalUnaryOpTest, Test) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto op = std::get<0>(GetParam());
auto& c = std::get<1>(GetParam());
diff --git a/src/tint/lang/core/core.def b/src/tint/lang/core/core.def
index b52d9bb..77b445a 100644
--- a/src/tint/lang/core/core.def
+++ b/src/tint/lang/core/core.def
@@ -46,52 +46,6 @@
__point_size
}
-// https://gpuweb.github.io/gpuweb/wgsl/#filterable-triggering-rules
-enum core_diagnostic_rule {
- // Rules defined in the spec.
- derivative_uniformity
-}
-
-// chromium-specific diagnostics
-enum chromium_diagnostic_rule {
- // Chromium specific rules not defined in the spec.
- unreachable_code
-}
-
-// https://gpuweb.github.io/gpuweb/wgsl/#syntax-severity_control_name
-enum diagnostic_severity {
- error
- warning
- info
- off
-}
-
-// https://gpuweb.github.io/gpuweb/wgsl/#extension
-enum extension {
- // WGSL Extension "f16"
- f16
- // An extension for the experimental feature "chromium_experimental_dp4a".
- // See crbug.com/tint/1497 for more details
- chromium_experimental_dp4a
- // A Chromium-specific extension for disabling uniformity analysis.
- chromium_disable_uniformity_analysis
- // A Chromium-specific extension for push constants
- chromium_experimental_push_constant
- // A Chromium-specific extension that enables passing of uniform, storage and workgroup
- // address-spaced pointers as parameters, as well as pointers into sub-objects.
- chromium_experimental_full_ptr_parameters
- // A Chromium-specific extension that adds support for read-write storage textures.
- chromium_experimental_read_write_storage_texture
- // A Chromium-specific extension that adds basic subgroup functionality.
- chromium_experimental_subgroups
- // A Chromium-specific extension that relaxes memory layout requirements for uniform storage.
- chromium_internal_relaxed_uniform_layout
- // A Chromium-specific extension that enables dual source blending.
- chromium_internal_dual_source_blending
- // A Chromium-specific extension that enables pixel local storage.
- chromium_experimental_pixel_local
-}
-
// https://gpuweb.github.io/gpuweb/wgsl/#storage-class
enum address_space {
function
diff --git a/src/tint/lang/core/intrinsic/BUILD.bazel b/src/tint/lang/core/intrinsic/BUILD.bazel
index de13dd6..2ef3c24 100644
--- a/src/tint/lang/core/intrinsic/BUILD.bazel
+++ b/src/tint/lang/core/intrinsic/BUILD.bazel
@@ -68,6 +68,7 @@
"//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/type",
"//src/tint/lang/core/type:test",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/resolver",
diff --git a/src/tint/lang/core/intrinsic/BUILD.cmake b/src/tint/lang/core/intrinsic/BUILD.cmake
index 4aa2870..713c8eb 100644
--- a/src/tint/lang/core/intrinsic/BUILD.cmake
+++ b/src/tint/lang/core/intrinsic/BUILD.cmake
@@ -69,6 +69,7 @@
tint_lang_core_intrinsic_data
tint_lang_core_type
tint_lang_core_type_test
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_resolver
diff --git a/src/tint/lang/core/intrinsic/BUILD.gn b/src/tint/lang/core/intrinsic/BUILD.gn
index c5b985b..f66d3fe 100644
--- a/src/tint/lang/core/intrinsic/BUILD.gn
+++ b/src/tint/lang/core/intrinsic/BUILD.gn
@@ -68,6 +68,7 @@
"${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/core/type:unittests",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/resolver",
diff --git a/src/tint/lang/core/type/BUILD.bazel b/src/tint/lang/core/type/BUILD.bazel
index 4103661..c36edbc 100644
--- a/src/tint/lang/core/type/BUILD.bazel
+++ b/src/tint/lang/core/type/BUILD.bazel
@@ -150,6 +150,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/resolver",
diff --git a/src/tint/lang/core/type/BUILD.cmake b/src/tint/lang/core/type/BUILD.cmake
index d3349e9..107db59 100644
--- a/src/tint/lang/core/type/BUILD.cmake
+++ b/src/tint/lang/core/type/BUILD.cmake
@@ -149,6 +149,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_resolver
diff --git a/src/tint/lang/core/type/BUILD.gn b/src/tint/lang/core/type/BUILD.gn
index 2da1377..c80abf5 100644
--- a/src/tint/lang/core/type/BUILD.gn
+++ b/src/tint/lang/core/type/BUILD.gn
@@ -152,6 +152,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/resolver",
diff --git a/src/tint/lang/glsl/writer/BUILD.bazel b/src/tint/lang/glsl/writer/BUILD.bazel
index 00cd0bd..a0e6bb2 100644
--- a/src/tint/lang/glsl/writer/BUILD.bazel
+++ b/src/tint/lang/glsl/writer/BUILD.bazel
@@ -39,6 +39,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
@@ -79,6 +80,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
diff --git a/src/tint/lang/glsl/writer/BUILD.cmake b/src/tint/lang/glsl/writer/BUILD.cmake
index 3a28fff..232ff0d 100644
--- a/src/tint/lang/glsl/writer/BUILD.cmake
+++ b/src/tint/lang/glsl/writer/BUILD.cmake
@@ -44,6 +44,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
@@ -89,6 +90,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
diff --git a/src/tint/lang/glsl/writer/BUILD.gn b/src/tint/lang/glsl/writer/BUILD.gn
index 96d9eb7..96574b1 100644
--- a/src/tint/lang/glsl/writer/BUILD.gn
+++ b/src/tint/lang/glsl/writer/BUILD.gn
@@ -38,6 +38,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
diff --git a/src/tint/lang/glsl/writer/ast_printer/BUILD.bazel b/src/tint/lang/glsl/writer/ast_printer/BUILD.bazel
index 35217ed..23ab99f 100644
--- a/src/tint/lang/glsl/writer/ast_printer/BUILD.bazel
+++ b/src/tint/lang/glsl/writer/ast_printer/BUILD.bazel
@@ -37,6 +37,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/helpers",
@@ -115,6 +116,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/ast:test",
diff --git a/src/tint/lang/glsl/writer/ast_printer/BUILD.cmake b/src/tint/lang/glsl/writer/ast_printer/BUILD.cmake
index 2addfbb..80b5a82 100644
--- a/src/tint/lang/glsl/writer/ast_printer/BUILD.cmake
+++ b/src/tint/lang/glsl/writer/ast_printer/BUILD.cmake
@@ -38,6 +38,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_helpers
@@ -121,6 +122,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_ast_test
diff --git a/src/tint/lang/glsl/writer/ast_printer/BUILD.gn b/src/tint/lang/glsl/writer/ast_printer/BUILD.gn
index 690ceb2..fc1c41e 100644
--- a/src/tint/lang/glsl/writer/ast_printer/BUILD.gn
+++ b/src/tint/lang/glsl/writer/ast_printer/BUILD.gn
@@ -40,6 +40,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/helpers",
@@ -119,6 +120,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/ast/transform",
diff --git a/src/tint/lang/glsl/writer/ast_printer/ast_printer.cc b/src/tint/lang/glsl/writer/ast_printer/ast_printer.cc
index b99b1bd..839cdb1 100644
--- a/src/tint/lang/glsl/writer/ast_printer/ast_printer.cc
+++ b/src/tint/lang/glsl/writer/ast_printer/ast_printer.cc
@@ -280,13 +280,13 @@
if (!tint::writer::CheckSupportedExtensions(
"GLSL", builder_.AST(), diagnostics_,
Vector{
- core::Extension::kChromiumDisableUniformityAnalysis,
- core::Extension::kChromiumExperimentalDp4A,
- core::Extension::kChromiumExperimentalFullPtrParameters,
- core::Extension::kChromiumInternalDualSourceBlending,
- core::Extension::kChromiumExperimentalReadWriteStorageTexture,
- core::Extension::kChromiumExperimentalPushConstant,
- core::Extension::kF16,
+ wgsl::Extension::kChromiumDisableUniformityAnalysis,
+ wgsl::Extension::kChromiumExperimentalDp4A,
+ wgsl::Extension::kChromiumExperimentalFullPtrParameters,
+ wgsl::Extension::kChromiumInternalDualSourceBlending,
+ wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture,
+ wgsl::Extension::kChromiumExperimentalPushConstant,
+ wgsl::Extension::kF16,
})) {
return false;
}
@@ -378,11 +378,11 @@
void ASTPrinter::RecordExtension(const ast::Enable* enable) {
// Deal with extension node here, recording it within the generator for later emition.
- if (enable->HasExtension(core::Extension::kF16)) {
+ if (enable->HasExtension(wgsl::Extension::kF16)) {
requires_f16_extension_ = true;
}
- if (enable->HasExtension(core::Extension::kChromiumInternalDualSourceBlending)) {
+ if (enable->HasExtension(wgsl::Extension::kChromiumInternalDualSourceBlending)) {
requires_dual_source_blending_extension_ = true;
}
}
diff --git a/src/tint/lang/glsl/writer/ast_printer/ast_printer_test.cc b/src/tint/lang/glsl/writer/ast_printer/ast_printer_test.cc
index e699eea..d0445c3 100644
--- a/src/tint/lang/glsl/writer/ast_printer/ast_printer_test.cc
+++ b/src/tint/lang/glsl/writer/ast_printer/ast_printer_test.cc
@@ -109,7 +109,7 @@
}
TEST_F(GlslASTPrinterTest, UnsupportedExtension) {
- Enable(Source{{12, 34}}, core::Extension::kUndefined);
+ Enable(Source{{12, 34}}, wgsl::Extension::kUndefined);
ASTPrinter& gen = Build();
diff --git a/src/tint/lang/glsl/writer/ast_printer/binary_test.cc b/src/tint/lang/glsl/writer/ast_printer/binary_test.cc
index f980c78..22093c5 100644
--- a/src/tint/lang/glsl/writer/ast_printer/binary_test.cc
+++ b/src/tint/lang/glsl/writer/ast_printer/binary_test.cc
@@ -76,7 +76,7 @@
return;
}
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("left", ty.f16(), core::AddressSpace::kPrivate);
GlobalVar("right", ty.f16(), core::AddressSpace::kPrivate);
@@ -178,7 +178,7 @@
}
TEST_F(GlslASTPrinterTest_Binary, Multiply_VectorScalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("a", Call<vec3<f16>>(1_h, 1_h, 1_h), core::AddressSpace::kPrivate);
auto* lhs = Expr("a");
@@ -214,7 +214,7 @@
}
TEST_F(GlslASTPrinterTest_Binary, Multiply_ScalarVector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("a", Call<vec3<f16>>(1_h, 1_h, 1_h), core::AddressSpace::kPrivate);
auto* lhs = Expr(1_h);
@@ -249,7 +249,7 @@
}
TEST_F(GlslASTPrinterTest_Binary, Multiply_MatrixScalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("mat", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
auto* lhs = Expr("mat");
@@ -283,7 +283,7 @@
}
TEST_F(GlslASTPrinterTest_Binary, Multiply_ScalarMatrix_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("mat", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
auto* lhs = Expr(1_h);
@@ -317,7 +317,7 @@
}
TEST_F(GlslASTPrinterTest_Binary, Multiply_MatrixVector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("mat", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
auto* lhs = Expr("mat");
@@ -351,7 +351,7 @@
}
TEST_F(GlslASTPrinterTest_Binary, Multiply_VectorMatrix_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("mat", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
auto* lhs = Call<vec3<f16>>(1_h, 1_h, 1_h);
@@ -384,7 +384,7 @@
}
TEST_F(GlslASTPrinterTest_Binary, Multiply_MatrixMatrix_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("lhs", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
GlobalVar("rhs", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
@@ -416,7 +416,7 @@
}
TEST_F(GlslASTPrinterTest_Binary, ModF16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("a", ty.f16(), core::AddressSpace::kPrivate);
GlobalVar("b", ty.f16(), core::AddressSpace::kPrivate);
@@ -448,7 +448,7 @@
}
TEST_F(GlslASTPrinterTest_Binary, ModVec3F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("a", ty.vec3<f16>(), core::AddressSpace::kPrivate);
GlobalVar("b", ty.vec3<f16>(), core::AddressSpace::kPrivate);
@@ -480,7 +480,7 @@
}
TEST_F(GlslASTPrinterTest_Binary, ModVec3F16ScalarF16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("a", ty.vec3<f16>(), core::AddressSpace::kPrivate);
GlobalVar("b", ty.f16(), core::AddressSpace::kPrivate);
@@ -512,7 +512,7 @@
}
TEST_F(GlslASTPrinterTest_Binary, ModScalarF16Vec3F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("a", ty.f16(), core::AddressSpace::kPrivate);
GlobalVar("b", ty.vec3<f16>(), core::AddressSpace::kPrivate);
@@ -572,7 +572,7 @@
}
TEST_F(GlslASTPrinterTest_Binary, ModMixedVec3ScalarF16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("a", ty.vec3<f16>(), core::AddressSpace::kPrivate);
GlobalVar("b", ty.f16(), core::AddressSpace::kPrivate);
diff --git a/src/tint/lang/glsl/writer/ast_printer/bitcast_test.cc b/src/tint/lang/glsl/writer/ast_printer/bitcast_test.cc
index 0a1de5e..f551cb7 100644
--- a/src/tint/lang/glsl/writer/ast_printer/bitcast_test.cc
+++ b/src/tint/lang/glsl/writer/ast_printer/bitcast_test.cc
@@ -66,7 +66,7 @@
}
TEST_F(GlslASTPrinterTest_Bitcast, EmitExpression_Bitcast_F16_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* a = Let("a", Call<vec2<f16>>(1_h, 2_h));
auto* b = Let("b", Bitcast<i32>(Expr("a")));
@@ -124,7 +124,7 @@
}
TEST_F(GlslASTPrinterTest_Bitcast, EmitExpression_Bitcast_F16_Vec4) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* a = Let("a", Call<vec4<f16>>(1_h, 2_h, 3_h, 4_h));
auto* b = Let("b", Bitcast<vec2<i32>>(Expr("a")));
diff --git a/src/tint/lang/glsl/writer/ast_printer/builtin_test.cc b/src/tint/lang/glsl/writer/ast_printer/builtin_test.cc
index 303e78f..2694b2c 100644
--- a/src/tint/lang/glsl/writer/ast_printer/builtin_test.cc
+++ b/src/tint/lang/glsl/writer/ast_printer/builtin_test.cc
@@ -195,7 +195,7 @@
auto param = GetParam();
if (param.type == CallParamType::kF16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("h2", ty.vec2<f16>(), core::AddressSpace::kPrivate);
GlobalVar("h3", ty.vec3<f16>(), core::AddressSpace::kPrivate);
@@ -403,7 +403,7 @@
}
TEST_F(GlslASTPrinterTest_Builtin, FMA_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("a", ty.vec3<f16>(), core::AddressSpace::kPrivate);
GlobalVar("b", ty.vec3<f16>(), core::AddressSpace::kPrivate);
@@ -457,7 +457,7 @@
}
TEST_F(GlslASTPrinterTest_Builtin, Runtime_Modf_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("f", Expr(1.5_h))), //
Decl(Let("v", Call("modf", "f"))));
@@ -530,7 +530,7 @@
}
TEST_F(GlslASTPrinterTest_Builtin, Runtime_Modf_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("f", Call<vec3<f16>>(1.5_h, 2.5_h, 3.5_h))), //
Decl(Let("v", Call("modf", "f"))));
@@ -595,7 +595,7 @@
}
TEST_F(GlslASTPrinterTest_Builtin, Const_Modf_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("v", Call("modf", 1.5_h))));
@@ -652,7 +652,7 @@
}
TEST_F(GlslASTPrinterTest_Builtin, Const_Modf_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("v", Call("modf", Call<vec3<f16>>(1.5_h, 2.5_h, 3.5_h)))));
@@ -717,7 +717,7 @@
}
TEST_F(GlslASTPrinterTest_Builtin, Runtime_Frexp_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Var("f", Expr(1_h)), //
Var("v", Call("frexp", "f")));
@@ -790,7 +790,7 @@
}
TEST_F(GlslASTPrinterTest_Builtin, Runtime_Frexp_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Var("f", Call<vec3<f16>>()), //
Var("v", Call("frexp", "f")));
@@ -855,7 +855,7 @@
}
TEST_F(GlslASTPrinterTest_Builtin, Const_Frexp_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("v", Call("frexp", 1_h))));
@@ -912,7 +912,7 @@
}
TEST_F(GlslASTPrinterTest_Builtin, Const_Frexp_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("v", Call("frexp", Call<vec3<f16>>()))));
@@ -1000,7 +1000,7 @@
}
TEST_F(GlslASTPrinterTest_Builtin, Degrees_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.f16());
auto* call = Call("degrees", val);
@@ -1032,7 +1032,7 @@
}
TEST_F(GlslASTPrinterTest_Builtin, Degrees_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.vec3<f16>());
auto* call = Call("degrees", val);
@@ -1122,7 +1122,7 @@
}
TEST_F(GlslASTPrinterTest_Builtin, Radians_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.f16());
auto* call = Call("radians", val);
@@ -1154,7 +1154,7 @@
}
TEST_F(GlslASTPrinterTest_Builtin, Radians_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.vec3<f16>());
auto* call = Call("radians", val);
diff --git a/src/tint/lang/glsl/writer/ast_printer/constructor_test.cc b/src/tint/lang/glsl/writer/ast_printer/constructor_test.cc
index c75cd8b..fe5faf4 100644
--- a/src/tint/lang/glsl/writer/ast_printer/constructor_test.cc
+++ b/src/tint/lang/glsl/writer/ast_printer/constructor_test.cc
@@ -62,7 +62,7 @@
}
TEST_F(GlslASTPrinterTest_Constructor, F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
// Use a number close to 1<<16 but whose decimal representation ends in 0.
WrapInFunction(Expr(f16((1 << 15) - 8)));
@@ -83,7 +83,7 @@
}
TEST_F(GlslASTPrinterTest_Constructor, Type_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<f16>(-1.2e-3_h));
@@ -130,7 +130,7 @@
}
TEST_F(GlslASTPrinterTest_Constructor, Type_Vec_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<vec3<f16>>(1_h, 2_h, 3_h));
@@ -150,7 +150,7 @@
}
TEST_F(GlslASTPrinterTest_Constructor, Type_Vec_Empty_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<vec3<f16>>());
@@ -170,7 +170,7 @@
}
TEST_F(GlslASTPrinterTest_Constructor, Type_Vec_SingleScalar_F16_Literal) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<vec3<f16>>(2_h));
@@ -193,7 +193,7 @@
}
TEST_F(GlslASTPrinterTest_Constructor, Type_Vec_SingleScalar_F16_Var) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("v", Expr(2_h));
auto* cast = Call<vec3<f16>>(var);
@@ -244,7 +244,7 @@
}
TEST_F(GlslASTPrinterTest_Constructor, Type_Mat_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(
Call<mat2x3<f16>>(Call<vec3<f16>>(1_h, 2_h, 3_h), Call<vec3<f16>>(3_h, 4_h, 5_h)));
@@ -289,7 +289,7 @@
// vec4<f16>(7.0h),
// vec4<f16>(vec4<f16>(42.0h, 21.0h, 6.0h, -5.0h)),
// );
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vector_literal =
Call<vec4<f16>>(Expr(f16(2.0)), Expr(f16(3.0)), Expr(f16(4.0)), Expr(f16(8.0)));
@@ -321,7 +321,7 @@
}
TEST_F(GlslASTPrinterTest_Constructor, Type_Mat_Empty_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<mat2x3<f16>>());
@@ -355,7 +355,7 @@
// var m_2: mat4x4<f16> = mat4x4<f16>(m_1);
// }
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* m_1 = Var("m_1", ty.mat4x4(ty.f16()), Call<mat4x4<f16>>());
auto* m_2 = Var("m_2", ty.mat4x4(ty.f16()), Call<mat4x4<f16>>(m_1));
diff --git a/src/tint/lang/glsl/writer/ast_printer/module_constant_test.cc b/src/tint/lang/glsl/writer/ast_printer/module_constant_test.cc
index 32e8ace..2bf9e44 100644
--- a/src/tint/lang/glsl/writer/ast_printer/module_constant_test.cc
+++ b/src/tint/lang/glsl/writer/ast_printer/module_constant_test.cc
@@ -131,7 +131,7 @@
}
TEST_F(GlslASTPrinterTest_ModuleConstant, Emit_GlobalConst_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalConst("G", Expr(1_h));
Func("f", tint::Empty, ty.void_(),
@@ -210,7 +210,7 @@
}
TEST_F(GlslASTPrinterTest_ModuleConstant, Emit_GlobalConst_vec3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalConst("G", Call<vec3<f16>>(1_h, 2_h, 3_h));
Func("f", tint::Empty, ty.void_(),
@@ -270,7 +270,7 @@
}
TEST_F(GlslASTPrinterTest_ModuleConstant, Emit_GlobalConst_mat2x3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalConst("G", Call<mat2x3<f16>>(1_h, 2_h, 3_h, 4_h, 5_h, 6_h));
Func("f", tint::Empty, ty.void_(),
diff --git a/src/tint/lang/glsl/writer/ast_printer/type_test.cc b/src/tint/lang/glsl/writer/ast_printer/type_test.cc
index 01f0738..842149a 100644
--- a/src/tint/lang/glsl/writer/ast_printer/type_test.cc
+++ b/src/tint/lang/glsl/writer/ast_printer/type_test.cc
@@ -109,7 +109,7 @@
}
TEST_F(GlslASTPrinterTest_Type, EmitType_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* f16 = create<core::type::F16>();
@@ -146,7 +146,7 @@
}
TEST_F(GlslASTPrinterTest_Type, EmitType_Matrix_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* f16 = create<core::type::F16>();
auto* vec3 = create<core::type::Vector>(f16, 3u);
@@ -259,7 +259,7 @@
}
TEST_F(GlslASTPrinterTest_Type, EmitType_Vector_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* f16 = create<core::type::F16>();
auto* vec3 = create<core::type::Vector>(f16, 3u);
diff --git a/src/tint/lang/glsl/writer/ast_printer/variable_decl_statement_test.cc b/src/tint/lang/glsl/writer/ast_printer/variable_decl_statement_test.cc
index 84f2776..d61a679 100644
--- a/src/tint/lang/glsl/writer/ast_printer/variable_decl_statement_test.cc
+++ b/src/tint/lang/glsl/writer/ast_printer/variable_decl_statement_test.cc
@@ -163,7 +163,7 @@
}
TEST_F(GlslASTPrinterTest_VariableDecl, Emit_VariableDeclStatement_Const_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* C = Const("C", Expr(1_h));
Func("f", tint::Empty, ty.void_(),
@@ -246,7 +246,7 @@
}
TEST_F(GlslASTPrinterTest_VariableDecl, Emit_VariableDeclStatement_Const_vec3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* C = Const("C", Call<vec3<f16>>(1_h, 2_h, 3_h));
Func("f", tint::Empty, ty.void_(),
@@ -309,7 +309,7 @@
}
TEST_F(GlslASTPrinterTest_VariableDecl, Emit_VariableDeclStatement_Const_mat2x3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* C = Const("C", Call<mat2x3<f16>>(1_h, 2_h, 3_h, 4_h, 5_h, 6_h));
Func("f", tint::Empty, ty.void_(),
@@ -479,7 +479,7 @@
}
TEST_F(GlslASTPrinterTest_VariableDecl, Emit_VariableDeclStatement_Initializer_ZeroVec_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("a", ty.vec3<f16>(), Call<vec3<f16>>());
@@ -508,7 +508,7 @@
}
TEST_F(GlslASTPrinterTest_VariableDecl, Emit_VariableDeclStatement_Initializer_ZeroMat_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("a", ty.mat2x3<f16>(), Call<mat2x3<f16>>());
diff --git a/src/tint/lang/glsl/writer/ast_raise/BUILD.bazel b/src/tint/lang/glsl/writer/ast_raise/BUILD.bazel
index ad9c02e..a71fcf7 100644
--- a/src/tint/lang/glsl/writer/ast_raise/BUILD.bazel
+++ b/src/tint/lang/glsl/writer/ast_raise/BUILD.bazel
@@ -43,6 +43,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
@@ -80,6 +81,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/ast/transform:test",
diff --git a/src/tint/lang/glsl/writer/ast_raise/BUILD.cmake b/src/tint/lang/glsl/writer/ast_raise/BUILD.cmake
index 8f3c78a..eeaa334 100644
--- a/src/tint/lang/glsl/writer/ast_raise/BUILD.cmake
+++ b/src/tint/lang/glsl/writer/ast_raise/BUILD.cmake
@@ -44,6 +44,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
@@ -84,6 +85,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_ast_transform_test
diff --git a/src/tint/lang/glsl/writer/ast_raise/BUILD.gn b/src/tint/lang/glsl/writer/ast_raise/BUILD.gn
index c0bc3b3..938e417 100644
--- a/src/tint/lang/glsl/writer/ast_raise/BUILD.gn
+++ b/src/tint/lang/glsl/writer/ast_raise/BUILD.gn
@@ -46,6 +46,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
@@ -84,6 +85,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/ast/transform:unittests",
diff --git a/src/tint/lang/hlsl/writer/BUILD.bazel b/src/tint/lang/hlsl/writer/BUILD.bazel
index 0c9ed78..323d038 100644
--- a/src/tint/lang/hlsl/writer/BUILD.bazel
+++ b/src/tint/lang/hlsl/writer/BUILD.bazel
@@ -40,6 +40,7 @@
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
"//src/tint/lang/hlsl/writer/common",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
@@ -81,6 +82,7 @@
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
"//src/tint/lang/hlsl/writer/common",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
diff --git a/src/tint/lang/hlsl/writer/BUILD.cmake b/src/tint/lang/hlsl/writer/BUILD.cmake
index df4dc70..887529b 100644
--- a/src/tint/lang/hlsl/writer/BUILD.cmake
+++ b/src/tint/lang/hlsl/writer/BUILD.cmake
@@ -45,6 +45,7 @@
tint_lang_core_constant
tint_lang_core_type
tint_lang_hlsl_writer_common
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
@@ -91,6 +92,7 @@
tint_lang_core_constant
tint_lang_core_type
tint_lang_hlsl_writer_common
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
diff --git a/src/tint/lang/hlsl/writer/BUILD.gn b/src/tint/lang/hlsl/writer/BUILD.gn
index 62cf889..b270131 100644
--- a/src/tint/lang/hlsl/writer/BUILD.gn
+++ b/src/tint/lang/hlsl/writer/BUILD.gn
@@ -39,6 +39,7 @@
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/hlsl/writer/common",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
diff --git a/src/tint/lang/hlsl/writer/ast_printer/BUILD.bazel b/src/tint/lang/hlsl/writer/ast_printer/BUILD.bazel
index ad2940c..ecf285b 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/BUILD.bazel
+++ b/src/tint/lang/hlsl/writer/ast_printer/BUILD.bazel
@@ -38,6 +38,7 @@
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
"//src/tint/lang/hlsl/writer/common",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/helpers",
@@ -110,6 +111,7 @@
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
"//src/tint/lang/hlsl/writer/common",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/ast:test",
diff --git a/src/tint/lang/hlsl/writer/ast_printer/BUILD.cmake b/src/tint/lang/hlsl/writer/ast_printer/BUILD.cmake
index 5c13dec..47d9f98 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/BUILD.cmake
+++ b/src/tint/lang/hlsl/writer/ast_printer/BUILD.cmake
@@ -39,6 +39,7 @@
tint_lang_core_constant
tint_lang_core_type
tint_lang_hlsl_writer_common
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_helpers
@@ -115,6 +116,7 @@
tint_lang_core_constant
tint_lang_core_type
tint_lang_hlsl_writer_common
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_ast_test
diff --git a/src/tint/lang/hlsl/writer/ast_printer/BUILD.gn b/src/tint/lang/hlsl/writer/ast_printer/BUILD.gn
index de41c15..017911b 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/BUILD.gn
+++ b/src/tint/lang/hlsl/writer/ast_printer/BUILD.gn
@@ -41,6 +41,7 @@
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/hlsl/writer/common",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/helpers",
@@ -113,6 +114,7 @@
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/hlsl/writer/common",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/ast/transform",
diff --git a/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc b/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc
index 1c077b1..352c4d8 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc
+++ b/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc
@@ -337,14 +337,14 @@
if (!tint::writer::CheckSupportedExtensions(
"HLSL", builder_.AST(), diagnostics_,
Vector{
- core::Extension::kChromiumDisableUniformityAnalysis,
- core::Extension::kChromiumExperimentalDp4A,
- core::Extension::kChromiumExperimentalFullPtrParameters,
- core::Extension::kChromiumExperimentalPushConstant,
- core::Extension::kChromiumExperimentalReadWriteStorageTexture,
- core::Extension::kChromiumExperimentalSubgroups,
- core::Extension::kF16,
- core::Extension::kChromiumInternalDualSourceBlending,
+ wgsl::Extension::kChromiumDisableUniformityAnalysis,
+ wgsl::Extension::kChromiumExperimentalDp4A,
+ wgsl::Extension::kChromiumExperimentalFullPtrParameters,
+ wgsl::Extension::kChromiumExperimentalPushConstant,
+ wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture,
+ wgsl::Extension::kChromiumExperimentalSubgroups,
+ wgsl::Extension::kF16,
+ wgsl::Extension::kChromiumInternalDualSourceBlending,
})) {
return false;
}
diff --git a/src/tint/lang/hlsl/writer/ast_printer/ast_printer_test.cc b/src/tint/lang/hlsl/writer/ast_printer/ast_printer_test.cc
index c8670f2..cb81bf6 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/ast_printer_test.cc
+++ b/src/tint/lang/hlsl/writer/ast_printer/ast_printer_test.cc
@@ -32,7 +32,7 @@
}
TEST_F(HlslASTPrinterTest, UnsupportedExtension) {
- Enable(Source{{12, 34}}, core::Extension::kUndefined);
+ Enable(Source{{12, 34}}, wgsl::Extension::kUndefined);
ASTPrinter& gen = Build();
diff --git a/src/tint/lang/hlsl/writer/ast_printer/binary_test.cc b/src/tint/lang/hlsl/writer/ast_printer/binary_test.cc
index a796fbe..57494c2 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/binary_test.cc
+++ b/src/tint/lang/hlsl/writer/ast_printer/binary_test.cc
@@ -84,7 +84,7 @@
return;
}
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("left", ty.f16(), core::AddressSpace::kPrivate);
GlobalVar("right", ty.f16(), core::AddressSpace::kPrivate);
@@ -192,7 +192,7 @@
}
TEST_F(HlslASTPrinterTest_Binary, Multiply_VectorScalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* lhs = Call<vec3<f16>>(1_h, 1_h, 1_h);
auto* rhs = Expr(1_h);
@@ -224,7 +224,7 @@
}
TEST_F(HlslASTPrinterTest_Binary, Multiply_ScalarVector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* lhs = Expr(1_h);
auto* rhs = Call<vec3<f16>>(1_h, 1_h, 1_h);
@@ -256,7 +256,7 @@
}
TEST_F(HlslASTPrinterTest_Binary, Multiply_MatrixScalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("mat", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
auto* lhs = Expr("mat");
@@ -288,7 +288,7 @@
}
TEST_F(HlslASTPrinterTest_Binary, Multiply_ScalarMatrix_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("mat", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
auto* lhs = Expr(1_h);
@@ -320,7 +320,7 @@
}
TEST_F(HlslASTPrinterTest_Binary, Multiply_MatrixVector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("mat", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
auto* lhs = Expr("mat");
@@ -352,7 +352,7 @@
}
TEST_F(HlslASTPrinterTest_Binary, Multiply_VectorMatrix_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("mat", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
auto* lhs = Call<vec3<f16>>(1_h, 1_h, 1_h);
@@ -383,7 +383,7 @@
}
TEST_F(HlslASTPrinterTest_Binary, Multiply_MatrixMatrix_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("lhs", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
GlobalVar("rhs", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
diff --git a/src/tint/lang/hlsl/writer/ast_printer/bitcast_test.cc b/src/tint/lang/hlsl/writer/ast_printer/bitcast_test.cc
index 5cbc27b..cf79384 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/bitcast_test.cc
+++ b/src/tint/lang/hlsl/writer/ast_printer/bitcast_test.cc
@@ -62,7 +62,7 @@
}
TEST_F(HlslASTPrinterTest_Bitcast, EmitExpression_Bitcast_F16_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* a = Let("a", Call<vec2<f16>>(1_h, 2_h));
auto* b = Let("b", Bitcast<i32>(Expr("a")));
@@ -128,7 +128,7 @@
}
TEST_F(HlslASTPrinterTest_Bitcast, EmitExpression_Bitcast_F16_Vec4) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* a = Let("a", Call<vec4<f16>>(1_h, 2_h, 3_h, 4_h));
auto* b = Let("b", Bitcast<vec2<i32>>(Expr("a")));
diff --git a/src/tint/lang/hlsl/writer/ast_printer/builtin_test.cc b/src/tint/lang/hlsl/writer/ast_printer/builtin_test.cc
index e673e5b..a7bbede 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/builtin_test.cc
+++ b/src/tint/lang/hlsl/writer/ast_printer/builtin_test.cc
@@ -194,7 +194,7 @@
auto param = GetParam();
if (param.type == CallParamType::kF16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("h2", ty.vec2<f16>(), core::AddressSpace::kPrivate);
GlobalVar("h3", ty.vec3<f16>(), core::AddressSpace::kPrivate);
@@ -402,7 +402,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Runtime_Modf_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("f", Expr(1.5_h))), //
Decl(Let("v", Call("modf", "f"))));
@@ -456,7 +456,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Runtime_Modf_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("f", Call<vec3<f16>>(1.5_h, 2.5_h, 3.5_h))), //
Decl(Let("v", Call("modf", "f"))));
@@ -502,7 +502,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Const_Modf_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("v", Call("modf", 1.5_h))));
@@ -540,7 +540,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Const_Modf_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("v", Call("modf", Call<vec3<f16>>(1.5_h, 2.5_h, 3.5_h)))));
@@ -613,7 +613,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Runtime_Frexp_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Var("f", Expr(1_h)), //
Var("v", Call("frexp", "f")));
@@ -669,7 +669,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Runtime_Frexp_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Var("f", Call<vec3<f16>>()), //
Var("v", Call("frexp", "f")));
@@ -716,7 +716,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Const_Frexp_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("v", Call("frexp", 1_h))));
@@ -754,7 +754,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Const_Frexp_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("v", Call("frexp", Call<vec3<f16>>()))));
@@ -842,7 +842,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Degrees_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.f16());
auto* call = Call("degrees", val);
@@ -865,7 +865,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Degrees_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.vec3<f16>());
auto* call = Call("degrees", val);
@@ -930,7 +930,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Radians_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.f16());
auto* call = Call("radians", val);
@@ -953,7 +953,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Radians_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.vec3<f16>());
auto* call = Call("radians", val);
@@ -1044,7 +1044,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Sign_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.f16());
auto* call = Call("sign", val);
@@ -1063,7 +1063,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Sign_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.vec3<f16>());
auto* call = Call("sign", val);
@@ -1124,7 +1124,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Trunc_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.f16());
auto* call = Call("trunc", val);
@@ -1147,7 +1147,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Trunc_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.vec3<f16>());
auto* call = Call("trunc", val);
@@ -1436,7 +1436,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Dot4I8Packed) {
- Enable(core::Extension::kChromiumExperimentalDp4A);
+ Enable(wgsl::Extension::kChromiumExperimentalDp4A);
auto* val1 = Var("val1", ty.u32());
auto* val2 = Var("val2", ty.u32());
@@ -1462,7 +1462,7 @@
}
TEST_F(HlslASTPrinterTest_Builtin, Dot4U8Packed) {
- Enable(core::Extension::kChromiumExperimentalDp4A);
+ Enable(wgsl::Extension::kChromiumExperimentalDp4A);
auto* val1 = Var("val1", ty.u32());
auto* val2 = Var("val2", ty.u32());
diff --git a/src/tint/lang/hlsl/writer/ast_printer/constructor_test.cc b/src/tint/lang/hlsl/writer/ast_printer/constructor_test.cc
index c249b08..d4110e5 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/constructor_test.cc
+++ b/src/tint/lang/hlsl/writer/ast_printer/constructor_test.cc
@@ -62,7 +62,7 @@
}
TEST_F(HlslASTPrinterTest_Constructor, F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
// Use a number close to 1<<16 but whose decimal representation ends in 0.
WrapInFunction(Expr(f16((1 << 15) - 8)));
@@ -83,7 +83,7 @@
}
TEST_F(HlslASTPrinterTest_Constructor, Type_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<f16>(-1.2e-3_h));
@@ -130,7 +130,7 @@
}
TEST_F(HlslASTPrinterTest_Constructor, Type_Vec_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<vec3<f16>>(1_h, 2_h, 3_h));
@@ -152,7 +152,7 @@
}
TEST_F(HlslASTPrinterTest_Constructor, Type_Vec_Empty_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<vec3<f16>>());
@@ -172,7 +172,7 @@
}
TEST_F(HlslASTPrinterTest_Constructor, Type_Vec_SingleScalar_F16_Literal) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<vec3<f16>>(2_h));
@@ -195,7 +195,7 @@
}
TEST_F(HlslASTPrinterTest_Constructor, Type_Vec_SingleScalar_F16_Var) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("v", Expr(2_h));
auto* cast = Call<vec3<f16>>(var);
@@ -260,7 +260,7 @@
}
TEST_F(HlslASTPrinterTest_Constructor, Type_Mat_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(
Call<mat2x3<f16>>(Call<vec3<f16>>(1_h, 2_h, 3_h), Call<vec3<f16>>(3_h, 4_h, 5_h)));
@@ -308,7 +308,7 @@
// vec4<f16>(7.0h),
// vec4<f16>(vec4<f16>(42.0h, 21.0h, 6.0h, -5.0h)),
// );
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vector_literal = Call<vec4<f16>>(f16(2.0), f16(3.0), f16(4.0), f16(8.0));
auto* vector_zero_init = Call<vec4<f16>>();
@@ -344,7 +344,7 @@
}
TEST_F(HlslASTPrinterTest_Constructor, Type_Mat_Empty_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<mat2x3<f16>>());
@@ -380,7 +380,7 @@
// var m_2: mat4x4<f16> = mat4x4<f16>(m_1);
// }
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* m_1 = Var("m_1", ty.mat4x4(ty.f16()), Call<mat4x4<f16>>());
auto* m_2 = Var("m_2", ty.mat4x4(ty.f16()), Call<mat4x4<f16>>(m_1));
diff --git a/src/tint/lang/hlsl/writer/ast_printer/member_accessor_test.cc b/src/tint/lang/hlsl/writer/ast_printer/member_accessor_test.cc
index 81633c8..5c040c1 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/member_accessor_test.cc
+++ b/src/tint/lang/hlsl/writer/ast_printer/member_accessor_test.cc
@@ -166,7 +166,7 @@
auto p = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
SetupStorageBuffer(Vector{
Member("a", ty.i32()),
@@ -301,7 +301,7 @@
auto p = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* inner = Structure("Inner", Vector{
Member("a", ty.i32()),
@@ -440,7 +440,7 @@
auto p = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
SetupUniformBuffer(Vector{
Member("a", ty.i32()),
@@ -708,7 +708,7 @@
auto p = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* inner = Structure("Inner", Vector{
Member("a", ty.i32()),
@@ -990,7 +990,7 @@
auto p = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
SetupStorageBuffer(Vector{
Member("a", ty.i32()),
@@ -1195,7 +1195,7 @@
// var<storage> data : Data;
// data.a[2i][1i];
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
SetupStorageBuffer(Vector{
Member("z", ty.f16()),
@@ -1261,7 +1261,7 @@
// var<uniform> data : Data;
// data.a[2i][1i];
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
SetupUniformBuffer(Vector{
Member("z", ty.f16()),
diff --git a/src/tint/lang/hlsl/writer/ast_printer/module_constant_test.cc b/src/tint/lang/hlsl/writer/ast_printer/module_constant_test.cc
index aa397b0..4916207 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/module_constant_test.cc
+++ b/src/tint/lang/hlsl/writer/ast_printer/module_constant_test.cc
@@ -94,7 +94,7 @@
}
TEST_F(HlslASTPrinterTest_ModuleConstant, Emit_GlobalConst_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalConst("G", Expr(1_h));
Func("f", tint::Empty, ty.void_(), Vector{Decl(Let("l", Expr(var)))});
@@ -152,7 +152,7 @@
}
TEST_F(HlslASTPrinterTest_ModuleConstant, Emit_GlobalConst_vec3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalConst("G", Call<vec3<f16>>(1_h, 2_h, 3_h));
Func("f", tint::Empty, ty.void_(), Vector{Decl(Let("l", Expr(var)))});
@@ -196,7 +196,7 @@
}
TEST_F(HlslASTPrinterTest_ModuleConstant, Emit_GlobalConst_mat2x3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalConst("G", Call<mat2x3<f16>>(1_h, 2_h, 3_h, 4_h, 5_h, 6_h));
Func("f", tint::Empty, ty.void_(), Vector{Decl(Let("l", Expr(var)))});
diff --git a/src/tint/lang/hlsl/writer/ast_printer/variable_decl_statement_test.cc b/src/tint/lang/hlsl/writer/ast_printer/variable_decl_statement_test.cc
index 2da3410..41821f0 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/variable_decl_statement_test.cc
+++ b/src/tint/lang/hlsl/writer/ast_printer/variable_decl_statement_test.cc
@@ -156,7 +156,7 @@
}
TEST_F(HlslASTPrinterTest_VariableDecl, Emit_VariableDeclStatement_Const_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* C = Const("C", Expr(1_h));
Func("f", tint::Empty, ty.void_(),
@@ -230,7 +230,7 @@
}
TEST_F(HlslASTPrinterTest_VariableDecl, Emit_VariableDeclStatement_Const_vec3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* C = Const("C", Call<vec3<f16>>(1_h, 2_h, 3_h));
Func("f", tint::Empty, ty.void_(),
@@ -286,7 +286,7 @@
}
TEST_F(HlslASTPrinterTest_VariableDecl, Emit_VariableDeclStatement_Const_mat2x3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* C = Const("C", Call<mat2x3<f16>>(1_h, 2_h, 3_h, 4_h, 5_h, 6_h));
Func("f", tint::Empty, ty.void_(),
@@ -384,7 +384,7 @@
}
TEST_F(HlslASTPrinterTest_VariableDecl, Emit_VariableDeclStatement_Initializer_ZeroVec_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("a", ty.vec3<f16>(), Call<vec3<f16>>());
@@ -413,7 +413,7 @@
}
TEST_F(HlslASTPrinterTest_VariableDecl, Emit_VariableDeclStatement_Initializer_ZeroMat_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("a", ty.mat2x3<f16>(), Call<mat2x3<f16>>());
diff --git a/src/tint/lang/hlsl/writer/ast_raise/BUILD.bazel b/src/tint/lang/hlsl/writer/ast_raise/BUILD.bazel
index 87be9ba2..f6333e6 100644
--- a/src/tint/lang/hlsl/writer/ast_raise/BUILD.bazel
+++ b/src/tint/lang/hlsl/writer/ast_raise/BUILD.bazel
@@ -46,6 +46,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
@@ -84,6 +85,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/ast/transform:test",
diff --git a/src/tint/lang/hlsl/writer/ast_raise/BUILD.cmake b/src/tint/lang/hlsl/writer/ast_raise/BUILD.cmake
index 6e3e1f0..d7b7107 100644
--- a/src/tint/lang/hlsl/writer/ast_raise/BUILD.cmake
+++ b/src/tint/lang/hlsl/writer/ast_raise/BUILD.cmake
@@ -47,6 +47,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
@@ -88,6 +89,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_ast_transform_test
diff --git a/src/tint/lang/hlsl/writer/ast_raise/BUILD.gn b/src/tint/lang/hlsl/writer/ast_raise/BUILD.gn
index 89f2e4b..b7e2eef 100644
--- a/src/tint/lang/hlsl/writer/ast_raise/BUILD.gn
+++ b/src/tint/lang/hlsl/writer/ast_raise/BUILD.gn
@@ -49,6 +49,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
@@ -88,6 +89,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/ast/transform:unittests",
diff --git a/src/tint/lang/msl/validate/BUILD.bazel b/src/tint/lang/msl/validate/BUILD.bazel
index cd91a04..941ee92 100644
--- a/src/tint/lang/msl/validate/BUILD.bazel
+++ b/src/tint/lang/msl/validate/BUILD.bazel
@@ -40,6 +40,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
diff --git a/src/tint/lang/msl/validate/BUILD.cmake b/src/tint/lang/msl/validate/BUILD.cmake
index 9f3c0a5..e380067 100644
--- a/src/tint/lang/msl/validate/BUILD.cmake
+++ b/src/tint/lang/msl/validate/BUILD.cmake
@@ -36,6 +36,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
diff --git a/src/tint/lang/msl/validate/BUILD.gn b/src/tint/lang/msl/validate/BUILD.gn
index 6408a5f..c386530 100644
--- a/src/tint/lang/msl/validate/BUILD.gn
+++ b/src/tint/lang/msl/validate/BUILD.gn
@@ -34,6 +34,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
diff --git a/src/tint/lang/msl/writer/BUILD.bazel b/src/tint/lang/msl/writer/BUILD.bazel
index 1d5f3c4..b3e89ef 100644
--- a/src/tint/lang/msl/writer/BUILD.bazel
+++ b/src/tint/lang/msl/writer/BUILD.bazel
@@ -41,6 +41,7 @@
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
"//src/tint/lang/msl/writer/raise",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/reader/program_to_ir",
@@ -82,6 +83,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
diff --git a/src/tint/lang/msl/writer/BUILD.cmake b/src/tint/lang/msl/writer/BUILD.cmake
index b8bbc1d..15752d1 100644
--- a/src/tint/lang/msl/writer/BUILD.cmake
+++ b/src/tint/lang/msl/writer/BUILD.cmake
@@ -48,6 +48,7 @@
tint_lang_core_ir
tint_lang_core_type
tint_lang_msl_writer_raise
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_reader_program_to_ir
@@ -94,6 +95,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
diff --git a/src/tint/lang/msl/writer/BUILD.gn b/src/tint/lang/msl/writer/BUILD.gn
index 695bc61..560486c 100644
--- a/src/tint/lang/msl/writer/BUILD.gn
+++ b/src/tint/lang/msl/writer/BUILD.gn
@@ -40,6 +40,7 @@
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/msl/writer/raise",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/reader/program_to_ir",
diff --git a/src/tint/lang/msl/writer/ast_printer/BUILD.bazel b/src/tint/lang/msl/writer/ast_printer/BUILD.bazel
index b061b09..4e43481 100644
--- a/src/tint/lang/msl/writer/ast_printer/BUILD.bazel
+++ b/src/tint/lang/msl/writer/ast_printer/BUILD.bazel
@@ -37,6 +37,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/helpers",
@@ -107,6 +108,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast:test",
"//src/tint/lang/wgsl/program",
diff --git a/src/tint/lang/msl/writer/ast_printer/BUILD.cmake b/src/tint/lang/msl/writer/ast_printer/BUILD.cmake
index 4db100e..40a6b6d 100644
--- a/src/tint/lang/msl/writer/ast_printer/BUILD.cmake
+++ b/src/tint/lang/msl/writer/ast_printer/BUILD.cmake
@@ -38,6 +38,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_helpers
@@ -112,6 +113,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_test
tint_lang_wgsl_program
diff --git a/src/tint/lang/msl/writer/ast_printer/BUILD.gn b/src/tint/lang/msl/writer/ast_printer/BUILD.gn
index 6622f41..072b550 100644
--- a/src/tint/lang/msl/writer/ast_printer/BUILD.gn
+++ b/src/tint/lang/msl/writer/ast_printer/BUILD.gn
@@ -40,6 +40,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/helpers",
@@ -112,6 +113,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/program",
diff --git a/src/tint/lang/msl/writer/ast_printer/ast_printer.cc b/src/tint/lang/msl/writer/ast_printer/ast_printer.cc
index 22fd118..8dced2c 100644
--- a/src/tint/lang/msl/writer/ast_printer/ast_printer.cc
+++ b/src/tint/lang/msl/writer/ast_printer/ast_printer.cc
@@ -257,16 +257,16 @@
if (!tint::writer::CheckSupportedExtensions(
"MSL", builder_.AST(), diagnostics_,
Vector{
- core::Extension::kChromiumDisableUniformityAnalysis,
- core::Extension::kChromiumExperimentalDp4A,
- core::Extension::kChromiumExperimentalFullPtrParameters,
- core::Extension::kChromiumExperimentalPixelLocal,
- core::Extension::kChromiumExperimentalPushConstant,
- core::Extension::kChromiumExperimentalReadWriteStorageTexture,
- core::Extension::kChromiumExperimentalSubgroups,
- core::Extension::kChromiumInternalDualSourceBlending,
- core::Extension::kChromiumInternalRelaxedUniformLayout,
- core::Extension::kF16,
+ wgsl::Extension::kChromiumDisableUniformityAnalysis,
+ wgsl::Extension::kChromiumExperimentalDp4A,
+ wgsl::Extension::kChromiumExperimentalFullPtrParameters,
+ wgsl::Extension::kChromiumExperimentalPixelLocal,
+ wgsl::Extension::kChromiumExperimentalPushConstant,
+ wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture,
+ wgsl::Extension::kChromiumExperimentalSubgroups,
+ wgsl::Extension::kChromiumInternalDualSourceBlending,
+ wgsl::Extension::kChromiumInternalRelaxedUniformLayout,
+ wgsl::Extension::kF16,
})) {
return false;
}
diff --git a/src/tint/lang/msl/writer/ast_printer/ast_printer_test.cc b/src/tint/lang/msl/writer/ast_printer/ast_printer_test.cc
index 7e21d8a..a6d092f 100644
--- a/src/tint/lang/msl/writer/ast_printer/ast_printer_test.cc
+++ b/src/tint/lang/msl/writer/ast_printer/ast_printer_test.cc
@@ -36,7 +36,7 @@
}
TEST_F(MslASTPrinterTest, UnsupportedExtension) {
- Enable(Source{{12, 34}}, core::Extension::kUndefined);
+ Enable(Source{{12, 34}}, wgsl::Extension::kUndefined);
ASTPrinter& gen = Build();
diff --git a/src/tint/lang/msl/writer/ast_printer/binary_test.cc b/src/tint/lang/msl/writer/ast_printer/binary_test.cc
index c0c741a..52ac50d 100644
--- a/src/tint/lang/msl/writer/ast_printer/binary_test.cc
+++ b/src/tint/lang/msl/writer/ast_printer/binary_test.cc
@@ -161,7 +161,7 @@
}
TEST_F(MslBinaryTest, ModF16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* left = Var("left", ty.f16());
auto* right = Var("right", ty.f16());
@@ -189,7 +189,7 @@
}
TEST_F(MslBinaryTest, ModVec3F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* left = Var("left", ty.vec3<f16>());
auto* right = Var("right", ty.vec3<f16>());
diff --git a/src/tint/lang/msl/writer/ast_printer/builtin_test.cc b/src/tint/lang/msl/writer/ast_printer/builtin_test.cc
index 67caae0..f596fd5 100644
--- a/src/tint/lang/msl/writer/ast_printer/builtin_test.cc
+++ b/src/tint/lang/msl/writer/ast_printer/builtin_test.cc
@@ -214,7 +214,7 @@
auto param = GetParam();
if (param.type == CallParamType::kF16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("h2", ty.vec2<f16>(), core::AddressSpace::kPrivate);
GlobalVar("h3", ty.vec3<f16>(), core::AddressSpace::kPrivate);
@@ -438,7 +438,7 @@
}
TEST_F(MslASTPrinterTest, Runtime_Modf_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("f", Expr(1.5_h))), //
Decl(Let("v", Call("modf", "f"))));
@@ -500,7 +500,7 @@
}
TEST_F(MslASTPrinterTest, Runtime_Modf_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("f", Call<vec3<f16>>(1.5_h, 2.5_h, 3.5_h))), //
Decl(Let("v", Call("modf", "f"))));
@@ -554,7 +554,7 @@
}
TEST_F(MslASTPrinterTest, Const_Modf_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("v", Call("modf", 1.5_h))));
@@ -600,7 +600,7 @@
}
TEST_F(MslASTPrinterTest, Const_Modf_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("v", Call("modf", Call<vec3<f16>>(1.5_h, 2.5_h, 3.5_h)))));
@@ -654,7 +654,7 @@
}
TEST_F(MslASTPrinterTest, Runtime_Frexp_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Var("f", Expr(1_h)), //
Var("v", Call("frexp", "f")));
@@ -716,7 +716,7 @@
}
TEST_F(MslASTPrinterTest, Runtime_Frexp_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Var("f", Call<vec3<f16>>()), //
Var("v", Call("frexp", "f")));
@@ -770,7 +770,7 @@
}
TEST_F(MslASTPrinterTest, Const_Frexp_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("v", Call("frexp", 1_h))));
@@ -816,7 +816,7 @@
}
TEST_F(MslASTPrinterTest, Const_Frexp_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Let("v", Call("frexp", Call<vec3<f16>>()))));
@@ -890,7 +890,7 @@
}
TEST_F(MslASTPrinterTest, Degrees_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.f16());
auto* call = Call("degrees", val);
@@ -917,7 +917,7 @@
}
TEST_F(MslASTPrinterTest, Degrees_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.vec3<f16>());
auto* call = Call("degrees", val);
@@ -994,7 +994,7 @@
}
TEST_F(MslASTPrinterTest, Radians_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.f16());
auto* call = Call("radians", val);
@@ -1021,7 +1021,7 @@
}
TEST_F(MslASTPrinterTest, Radians_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* val = Var("val", ty.vec3<f16>());
auto* call = Call("radians", val);
diff --git a/src/tint/lang/msl/writer/ast_printer/constructor_test.cc b/src/tint/lang/msl/writer/ast_printer/constructor_test.cc
index 214a147..67fe95f 100644
--- a/src/tint/lang/msl/writer/ast_printer/constructor_test.cc
+++ b/src/tint/lang/msl/writer/ast_printer/constructor_test.cc
@@ -62,7 +62,7 @@
}
TEST_F(MslASTPrinterTest_Constructor, F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
// Use a number close to 1<<16 but whose decimal representation ends in 0.
WrapInFunction(Expr(f16((1 << 15) - 8)));
@@ -83,7 +83,7 @@
}
TEST_F(MslASTPrinterTest_Constructor, Type_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<f16>(-1.2e-3_h));
@@ -130,7 +130,7 @@
}
TEST_F(MslASTPrinterTest_Constructor, Type_Vec_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<vec3<f16>>(1_h, 2_h, 3_h));
@@ -150,7 +150,7 @@
}
TEST_F(MslASTPrinterTest_Constructor, Type_Vec_Empty_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<vec3<f16>>());
@@ -170,7 +170,7 @@
}
TEST_F(MslASTPrinterTest_Constructor, Type_Vec_SingleScalar_F16_Literal) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<vec3<f16>>(2_h));
@@ -193,7 +193,7 @@
}
TEST_F(MslASTPrinterTest_Constructor, Type_Vec_SingleScalar_F16_Var) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("v", Expr(2_h));
auto* cast = Call<vec3<f16>>(var);
@@ -246,7 +246,7 @@
}
TEST_F(MslASTPrinterTest_Constructor, Type_Mat_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(
Call<mat2x3<f16>>(Call<vec3<f16>>(1_h, 2_h, 3_h), Call<vec3<f16>>(3_h, 4_h, 5_h)));
@@ -292,7 +292,7 @@
// vec4<f16>(7.0h),
// vec4<f16>(vec4<f16>(42.0h, 21.0h, 6.0h, -5.0h)),
// );
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vector_literal = Call<vec4<f16>>(f16(2.0), f16(3.0), f16(4.0), f16(8.0));
auto* vector_zero_init = Call<vec4<f16>>();
@@ -325,7 +325,7 @@
}
TEST_F(MslASTPrinterTest_Constructor, Type_Mat_Empty_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<mat2x3<f16>>());
@@ -361,7 +361,7 @@
// var m_2: mat4x4<f16> = mat4x4<f16>(m_1);
// }
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* m_1 = Var("m_1", ty.mat4x4(ty.f16()), Call<mat4x4<f16>>());
auto* m_2 = Var("m_2", ty.mat4x4(ty.f16()), Call<mat4x4<f16>>(m_1));
diff --git a/src/tint/lang/msl/writer/ast_printer/module_constant_test.cc b/src/tint/lang/msl/writer/ast_printer/module_constant_test.cc
index cef8f57..73e8563 100644
--- a/src/tint/lang/msl/writer/ast_printer/module_constant_test.cc
+++ b/src/tint/lang/msl/writer/ast_printer/module_constant_test.cc
@@ -114,7 +114,7 @@
}
TEST_F(MslASTPrinterTest, Emit_GlobalConst_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalConst("G", Expr(1_h));
Func("f", tint::Empty, ty.void_(), Vector{Decl(Let("l", Expr(var)))});
@@ -188,7 +188,7 @@
}
TEST_F(MslASTPrinterTest, Emit_GlobalConst_vec3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalConst("G", Call<vec3<f16>>(1_h, 2_h, 3_h));
Func("f", tint::Empty, ty.void_(), Vector{Decl(Let("l", Expr(var)))});
@@ -244,7 +244,7 @@
}
TEST_F(MslASTPrinterTest, Emit_GlobalConst_mat2x3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalConst("G", Call<mat2x3<f16>>(1_h, 2_h, 3_h, 4_h, 5_h, 6_h));
Func("f", tint::Empty, ty.void_(), Vector{Decl(Let("l", Expr(var)))});
diff --git a/src/tint/lang/msl/writer/ast_printer/variable_decl_statement_test.cc b/src/tint/lang/msl/writer/ast_printer/variable_decl_statement_test.cc
index 7024032..4925919 100644
--- a/src/tint/lang/msl/writer/ast_printer/variable_decl_statement_test.cc
+++ b/src/tint/lang/msl/writer/ast_printer/variable_decl_statement_test.cc
@@ -155,7 +155,7 @@
}
TEST_F(MslASTPrinterTest, Emit_VariableDeclStatement_Const_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* C = Const("C", Expr(1_h));
Func("f", tint::Empty, ty.void_(), Vector{Decl(C), Decl(Let("l", Expr(C)))});
@@ -229,7 +229,7 @@
}
TEST_F(MslASTPrinterTest, Emit_VariableDeclStatement_Const_vec3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* C = Const("C", Call<vec3<f16>>(1_h, 2_h, 3_h));
Func("f", tint::Empty, ty.void_(), Vector{Decl(C), Decl(Let("l", Expr(C)))});
@@ -285,7 +285,7 @@
}
TEST_F(MslASTPrinterTest, Emit_VariableDeclStatement_Const_mat2x3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* C = Const("C", Call<mat2x3<f16>>(1_h, 2_h, 3_h, 4_h, 5_h, 6_h));
Func("f", tint::Empty, ty.void_(), Vector{Decl(C), Decl(Let("l", Expr(C)))});
@@ -415,7 +415,7 @@
}
TEST_F(MslASTPrinterTest, Emit_VariableDeclStatement_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("a", ty.vec2<f16>());
auto* stmt = Decl(var);
@@ -444,7 +444,7 @@
}
TEST_F(MslASTPrinterTest, Emit_VariableDeclStatement_Matrix_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("a", ty.mat3x2<f16>());
@@ -473,7 +473,7 @@
}
TEST_F(MslASTPrinterTest, Emit_VariableDeclStatement_Initializer_ZeroVec_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("a", ty.vec3<f16>(), Call<vec3<f16>>());
@@ -502,7 +502,7 @@
}
TEST_F(MslASTPrinterTest, Emit_VariableDeclStatement_Initializer_ZeroMat_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("a", ty.mat2x3<f16>(), Call<mat2x3<f16>>());
diff --git a/src/tint/lang/msl/writer/ast_raise/BUILD.bazel b/src/tint/lang/msl/writer/ast_raise/BUILD.bazel
index 0b080b5..e2b25c8 100644
--- a/src/tint/lang/msl/writer/ast_raise/BUILD.bazel
+++ b/src/tint/lang/msl/writer/ast_raise/BUILD.bazel
@@ -42,6 +42,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
@@ -78,6 +79,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/ast/transform:test",
diff --git a/src/tint/lang/msl/writer/ast_raise/BUILD.cmake b/src/tint/lang/msl/writer/ast_raise/BUILD.cmake
index 56fe8bd..54b8337 100644
--- a/src/tint/lang/msl/writer/ast_raise/BUILD.cmake
+++ b/src/tint/lang/msl/writer/ast_raise/BUILD.cmake
@@ -43,6 +43,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
@@ -82,6 +83,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_ast_transform_test
diff --git a/src/tint/lang/msl/writer/ast_raise/BUILD.gn b/src/tint/lang/msl/writer/ast_raise/BUILD.gn
index f6890c2..bb16eaa 100644
--- a/src/tint/lang/msl/writer/ast_raise/BUILD.gn
+++ b/src/tint/lang/msl/writer/ast_raise/BUILD.gn
@@ -45,6 +45,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
@@ -82,6 +83,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/ast/transform:unittests",
diff --git a/src/tint/lang/msl/writer/ast_raise/module_scope_var_to_entry_point_param.cc b/src/tint/lang/msl/writer/ast_raise/module_scope_var_to_entry_point_param.cc
index 4e529a2..ef07aa9 100644
--- a/src/tint/lang/msl/writer/ast_raise/module_scope_var_to_entry_point_param.cc
+++ b/src/tint/lang/msl/writer/ast_raise/module_scope_var_to_entry_point_param.cc
@@ -364,7 +364,7 @@
ctx.dst->Structure(PrivateStructName(), std::move(private_struct_members));
// Passing a pointer to a private variable will now involve passing a pointer to the
// member of a structure, so enable the extension that allows this.
- ctx.dst->Enable(core::Extension::kChromiumExperimentalFullPtrParameters);
+ ctx.dst->Enable(wgsl::Extension::kChromiumExperimentalFullPtrParameters);
}
// Build a list of `&ident` expressions. We'll use this later to avoid generating
diff --git a/src/tint/lang/msl/writer/ast_raise/packed_vec3.cc b/src/tint/lang/msl/writer/ast_raise/packed_vec3.cc
index cfe3c0e..d24d83f 100644
--- a/src/tint/lang/msl/writer/ast_raise/packed_vec3.cc
+++ b/src/tint/lang/msl/writer/ast_raise/packed_vec3.cc
@@ -366,7 +366,7 @@
// bytes from the start of a structure to the start of the next member.
// Disable these validation rules using an internal extension, as MSL does not have these
// restrictions.
- b.Enable(core::Extension::kChromiumInternalRelaxedUniformLayout);
+ b.Enable(wgsl::Extension::kChromiumInternalRelaxedUniformLayout);
// Track expressions that need to be packed or unpacked.
Hashset<const sem::ValueExpression*, 8> to_pack;
diff --git a/src/tint/lang/msl/writer/ast_raise/pixel_local.cc b/src/tint/lang/msl/writer/ast_raise/pixel_local.cc
index 53f6dfe..df67318 100644
--- a/src/tint/lang/msl/writer/ast_raise/pixel_local.cc
+++ b/src/tint/lang/msl/writer/ast_raise/pixel_local.cc
@@ -58,7 +58,7 @@
// If the pixel local extension isn't enabled, then there must be no use of pixel_local
// variables, and so there's nothing for this transform to do.
if (!sem.Module()->Extensions().Contains(
- core::Extension::kChromiumExperimentalPixelLocal)) {
+ wgsl::Extension::kChromiumExperimentalPixelLocal)) {
return SkipTransform;
}
diff --git a/src/tint/lang/spirv/reader/BUILD.bazel b/src/tint/lang/spirv/reader/BUILD.bazel
index 0c153ea..3601ba5 100644
--- a/src/tint/lang/spirv/reader/BUILD.bazel
+++ b/src/tint/lang/spirv/reader/BUILD.bazel
@@ -36,6 +36,7 @@
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
"//src/tint/lang/spirv/reader/common",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
diff --git a/src/tint/lang/spirv/reader/BUILD.cmake b/src/tint/lang/spirv/reader/BUILD.cmake
index 282235d..6dd4628 100644
--- a/src/tint/lang/spirv/reader/BUILD.cmake
+++ b/src/tint/lang/spirv/reader/BUILD.cmake
@@ -41,6 +41,7 @@
tint_lang_core_constant
tint_lang_core_type
tint_lang_spirv_reader_common
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
diff --git a/src/tint/lang/spirv/reader/BUILD.gn b/src/tint/lang/spirv/reader/BUILD.gn
index eeb5258..80f55cb 100644
--- a/src/tint/lang/spirv/reader/BUILD.gn
+++ b/src/tint/lang/spirv/reader/BUILD.gn
@@ -35,6 +35,7 @@
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/spirv/reader/common",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
diff --git a/src/tint/lang/spirv/reader/ast_lower/BUILD.bazel b/src/tint/lang/spirv/reader/ast_lower/BUILD.bazel
index 5f0918e..0a5204d1 100644
--- a/src/tint/lang/spirv/reader/ast_lower/BUILD.bazel
+++ b/src/tint/lang/spirv/reader/ast_lower/BUILD.bazel
@@ -42,6 +42,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
@@ -78,6 +79,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/ast/transform:test",
diff --git a/src/tint/lang/spirv/reader/ast_lower/BUILD.cmake b/src/tint/lang/spirv/reader/ast_lower/BUILD.cmake
index 29a4202..034a369 100644
--- a/src/tint/lang/spirv/reader/ast_lower/BUILD.cmake
+++ b/src/tint/lang/spirv/reader/ast_lower/BUILD.cmake
@@ -43,6 +43,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
@@ -82,6 +83,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_ast_transform_test
diff --git a/src/tint/lang/spirv/reader/ast_lower/BUILD.gn b/src/tint/lang/spirv/reader/ast_lower/BUILD.gn
index 730ff27..fee420d 100644
--- a/src/tint/lang/spirv/reader/ast_lower/BUILD.gn
+++ b/src/tint/lang/spirv/reader/ast_lower/BUILD.gn
@@ -45,6 +45,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
@@ -82,6 +83,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/ast/transform:unittests",
diff --git a/src/tint/lang/spirv/reader/ast_parser/BUILD.bazel b/src/tint/lang/spirv/reader/ast_parser/BUILD.bazel
index ff65b46..4a97ba1 100644
--- a/src/tint/lang/spirv/reader/ast_parser/BUILD.bazel
+++ b/src/tint/lang/spirv/reader/ast_parser/BUILD.bazel
@@ -55,6 +55,7 @@
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
"//src/tint/lang/spirv/reader/common",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
@@ -133,6 +134,7 @@
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
"//src/tint/lang/spirv/reader/common",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
diff --git a/src/tint/lang/spirv/reader/ast_parser/BUILD.cmake b/src/tint/lang/spirv/reader/ast_parser/BUILD.cmake
index 2748739..c8b5c9d 100644
--- a/src/tint/lang/spirv/reader/ast_parser/BUILD.cmake
+++ b/src/tint/lang/spirv/reader/ast_parser/BUILD.cmake
@@ -56,6 +56,7 @@
tint_lang_core_constant
tint_lang_core_type
tint_lang_spirv_reader_common
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
@@ -139,6 +140,7 @@
tint_lang_core_constant
tint_lang_core_type
tint_lang_spirv_reader_common
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
diff --git a/src/tint/lang/spirv/reader/ast_parser/BUILD.gn b/src/tint/lang/spirv/reader/ast_parser/BUILD.gn
index 5c3d82b..163e8be 100644
--- a/src/tint/lang/spirv/reader/ast_parser/BUILD.gn
+++ b/src/tint/lang/spirv/reader/ast_parser/BUILD.gn
@@ -58,6 +58,7 @@
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/spirv/reader/common",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
@@ -139,6 +140,7 @@
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/spirv/reader/common",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
diff --git a/src/tint/lang/spirv/reader/ast_parser/ast_parser.cc b/src/tint/lang/spirv/reader/ast_parser/ast_parser.cc
index ae45f74..eea7fce 100644
--- a/src/tint/lang/spirv/reader/ast_parser/ast_parser.cc
+++ b/src/tint/lang/spirv/reader/ast_parser/ast_parser.cc
@@ -2574,7 +2574,7 @@
const auto access =
usage.IsStorageReadWriteTexture() ? core::Access::kReadWrite : core::Access::kWrite;
if (access == core::Access::kReadWrite) {
- Enable(core::Extension::kChromiumExperimentalReadWriteStorageTexture);
+ Enable(wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture);
}
const auto format = enum_converter_.ToTexelFormat(image_type->format());
if (format == core::TexelFormat::kUndefined) {
diff --git a/src/tint/lang/spirv/reader/ast_parser/ast_parser.h b/src/tint/lang/spirv/reader/ast_parser/ast_parser.h
index bf5df6b..69aa099 100644
--- a/src/tint/lang/spirv/reader/ast_parser/ast_parser.h
+++ b/src/tint/lang/spirv/reader/ast_parser/ast_parser.h
@@ -740,7 +740,7 @@
/// Enable a WGSL extension, if not already enabled.
/// @param extension the extension to enable
- void Enable(core::Extension extension) {
+ void Enable(wgsl::Extension extension) {
if (enabled_extensions_.Add(extension)) {
builder_.Enable(extension);
}
@@ -935,7 +935,7 @@
WorkgroupSizeInfo workgroup_size_builtin_;
/// Set of WGSL extensions that have been enabled.
- Hashset<core::Extension, 4> enabled_extensions_;
+ Hashset<wgsl::Extension, 4> enabled_extensions_;
};
} // namespace tint::spirv::reader::ast_parser
diff --git a/src/tint/lang/spirv/reader/ast_parser/function.cc b/src/tint/lang/spirv/reader/ast_parser/function.cc
index e83e959..754fff5 100644
--- a/src/tint/lang/spirv/reader/ast_parser/function.cc
+++ b/src/tint/lang/spirv/reader/ast_parser/function.cc
@@ -5312,7 +5312,7 @@
if (memory != uint32_t(spv::Scope::Workgroup)) {
return Fail() << "textureBarrier requires workgroup memory scope";
}
- parser_impl_.Enable(core::Extension::kChromiumExperimentalReadWriteStorageTexture);
+ parser_impl_.Enable(wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture);
AddStatement(builder_.CallStmt(builder_.Call("textureBarrier")));
semantics &= ~static_cast<uint32_t>(spv::MemorySemanticsMask::ImageMemory);
}
diff --git a/src/tint/lang/spirv/reader/ast_parser/parse.cc b/src/tint/lang/spirv/reader/ast_parser/parse.cc
index a0bee33..abef728 100644
--- a/src/tint/lang/spirv/reader/ast_parser/parse.cc
+++ b/src/tint/lang/spirv/reader/ast_parser/parse.cc
@@ -44,7 +44,7 @@
if (options.allow_non_uniform_derivatives) {
// Suppress errors regarding non-uniform derivative operations if requested, by adding a
// diagnostic directive to the module.
- builder.DiagnosticDirective(core::DiagnosticSeverity::kOff, "derivative_uniformity");
+ builder.DiagnosticDirective(wgsl::DiagnosticSeverity::kOff, "derivative_uniformity");
}
if (!options.allow_chromium_extensions) {
@@ -52,23 +52,23 @@
for (auto* enable : builder.AST().Enables()) {
for (auto* extension : enable->extensions) {
switch (extension->name) {
- case core::Extension::kUndefined:
- case core::Extension::kChromiumDisableUniformityAnalysis:
- case core::Extension::kChromiumExperimentalDp4A:
- case core::Extension::kChromiumExperimentalFullPtrParameters:
- case core::Extension::kChromiumExperimentalPixelLocal:
- case core::Extension::kChromiumExperimentalPushConstant:
- case core::Extension::kChromiumExperimentalReadWriteStorageTexture:
- case core::Extension::kChromiumExperimentalSubgroups:
- case core::Extension::kChromiumInternalDualSourceBlending:
- case core::Extension::kChromiumInternalRelaxedUniformLayout: {
+ case wgsl::Extension::kUndefined:
+ case wgsl::Extension::kChromiumDisableUniformityAnalysis:
+ case wgsl::Extension::kChromiumExperimentalDp4A:
+ case wgsl::Extension::kChromiumExperimentalFullPtrParameters:
+ case wgsl::Extension::kChromiumExperimentalPixelLocal:
+ case wgsl::Extension::kChromiumExperimentalPushConstant:
+ case wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture:
+ case wgsl::Extension::kChromiumExperimentalSubgroups:
+ case wgsl::Extension::kChromiumInternalDualSourceBlending:
+ case wgsl::Extension::kChromiumInternalRelaxedUniformLayout: {
StringStream ss;
ss << "module requires " << ToString(extension->name)
<< ", but 'allow-chromium-extensions' was not passed";
builder.Diagnostics().add_error(diag::System::Reader, ss.str());
return Program(std::move(builder));
}
- case core::Extension::kF16:
+ case wgsl::Extension::kF16:
break;
}
}
diff --git a/src/tint/lang/spirv/writer/BUILD.bazel b/src/tint/lang/spirv/writer/BUILD.bazel
index f4c8091..e42bedf6 100644
--- a/src/tint/lang/spirv/writer/BUILD.bazel
+++ b/src/tint/lang/spirv/writer/BUILD.bazel
@@ -44,6 +44,7 @@
"//src/tint/lang/core/type",
"//src/tint/lang/spirv/intrinsic/data",
"//src/tint/lang/spirv/ir",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/reader/program_to_ir",
@@ -158,6 +159,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
diff --git a/src/tint/lang/spirv/writer/BUILD.cmake b/src/tint/lang/spirv/writer/BUILD.cmake
index 239c5b5..b47843a 100644
--- a/src/tint/lang/spirv/writer/BUILD.cmake
+++ b/src/tint/lang/spirv/writer/BUILD.cmake
@@ -51,6 +51,7 @@
tint_lang_core_type
tint_lang_spirv_intrinsic_data
tint_lang_spirv_ir
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_reader_program_to_ir
@@ -179,6 +180,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
diff --git a/src/tint/lang/spirv/writer/BUILD.gn b/src/tint/lang/spirv/writer/BUILD.gn
index 0d7c728..a3dd0b8 100644
--- a/src/tint/lang/spirv/writer/BUILD.gn
+++ b/src/tint/lang/spirv/writer/BUILD.gn
@@ -47,6 +47,7 @@
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/spirv/intrinsic/data",
"${tint_src_dir}/lang/spirv/ir",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/reader/program_to_ir",
diff --git a/src/tint/lang/spirv/writer/ast_printer/BUILD.bazel b/src/tint/lang/spirv/writer/ast_printer/BUILD.bazel
index b695ddb..99c7cd5 100644
--- a/src/tint/lang/spirv/writer/ast_printer/BUILD.bazel
+++ b/src/tint/lang/spirv/writer/ast_printer/BUILD.bazel
@@ -40,6 +40,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/helpers",
@@ -112,6 +113,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast:test",
"//src/tint/lang/wgsl/program",
diff --git a/src/tint/lang/spirv/writer/ast_printer/BUILD.cmake b/src/tint/lang/spirv/writer/ast_printer/BUILD.cmake
index 0a81588..46151c0 100644
--- a/src/tint/lang/spirv/writer/ast_printer/BUILD.cmake
+++ b/src/tint/lang/spirv/writer/ast_printer/BUILD.cmake
@@ -41,6 +41,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_helpers
@@ -118,6 +119,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_test
tint_lang_wgsl_program
diff --git a/src/tint/lang/spirv/writer/ast_printer/BUILD.gn b/src/tint/lang/spirv/writer/ast_printer/BUILD.gn
index 94377d4..4344f94 100644
--- a/src/tint/lang/spirv/writer/ast_printer/BUILD.gn
+++ b/src/tint/lang/spirv/writer/ast_printer/BUILD.gn
@@ -43,6 +43,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/helpers",
@@ -116,6 +117,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/program",
diff --git a/src/tint/lang/spirv/writer/ast_printer/ast_builtin_test.cc b/src/tint/lang/spirv/writer/ast_printer/ast_builtin_test.cc
index fc2feba..b0c7a8d0 100644
--- a/src/tint/lang/spirv/writer/ast_printer/ast_builtin_test.cc
+++ b/src/tint/lang/spirv/writer/ast_printer/ast_builtin_test.cc
@@ -135,7 +135,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Call_GLSLMethod_WithLoad_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalVar("ident", ty.f16(), core::AddressSpace::kPrivate);
auto* expr = Call("round", "ident");
@@ -520,7 +520,7 @@
}
TEST_P(Builtin_Builder_SingleParam_Float_Test, Call_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto param = GetParam();
// Use a variable to prevent the function being evaluated as constant.
@@ -603,7 +603,7 @@
}
TEST_P(Builtin_Builder_SingleParam_Float_Test, Call_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto param = GetParam();
@@ -709,7 +709,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Call_Length_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* scalar = Var("a", Expr(1_h));
auto* expr = Call("length", scalar);
@@ -783,7 +783,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Call_Length_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec = Var("a", Call<vec2<f16>>(1_h, 1_h));
auto* expr = Call("length", vec);
@@ -859,7 +859,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Call_Normalize_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec = Var("a", Call<vec2<f16>>(1_h, 1_h));
auto* expr = Call("normalize", vec);
@@ -938,7 +938,7 @@
}
TEST_P(Builtin_Builder_DualParam_Float_Test, Call_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto param = GetParam();
auto* scalar = Var("scalar", Expr(1_h));
@@ -1020,7 +1020,7 @@
}
TEST_P(Builtin_Builder_DualParam_Float_Test, Call_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto param = GetParam();
auto* vec = Var("vec", Call<vec2<f16>>(1_h, 1_h));
@@ -1109,7 +1109,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Call_Reflect_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec = Var("vec", Call<vec2<f16>>(1_h, 1_h));
auto* expr = Call("reflect", vec, vec);
@@ -1185,7 +1185,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Call_Distance_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* scalar = Var("scalar", Expr(1_h));
auto* expr = Call("distance", scalar, scalar);
@@ -1261,7 +1261,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Call_Distance_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec = Var("vec", Call<vec2<f16>>(1_h, 1_h));
auto* expr = Call("distance", vec, vec);
@@ -1339,7 +1339,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Call_Cross_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec = Var("vec", Call<vec3<f16>>(1_h, 1_h, 1_h));
auto* expr = Call("cross", vec, vec);
@@ -1420,7 +1420,7 @@
}
TEST_P(Builtin_Builder_ThreeParam_Float_Test, Call_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto param = GetParam();
auto* scalar = Var("scalar", Expr(1_h));
@@ -1504,7 +1504,7 @@
}
TEST_P(Builtin_Builder_ThreeParam_Float_Test, Call_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto param = GetParam();
auto* vec = Var("vec", Call<vec2<f16>>(1_h, 1_h));
@@ -1595,7 +1595,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Call_FaceForward_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec = Var("vec", Call<vec2<f16>>(1_h, 1_h));
auto* expr = Call("faceForward", vec, vec, vec);
@@ -1688,7 +1688,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Runtime_Call_Modf_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec = Var("vec", Call<vec2<f16>>(1_h, 2_h));
auto* expr = Call("modf", vec);
@@ -1790,7 +1790,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Const_Call_Modf_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call("modf", Call<vec2<f16>>(1_h, 2_h));
Func("a_func", tint::Empty, ty.void_(),
@@ -1894,7 +1894,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Runtime_Call_Frexp_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec = Var("vec", Call<vec2<f16>>(1_h, 2_h));
auto* expr = Call("frexp", vec);
@@ -2000,7 +2000,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Const_Call_Frexp_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Func("a_func", tint::Empty, ty.void_(),
Vector{
@@ -3155,7 +3155,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Call_Determinant_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalVar("var", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
auto* expr = Call("determinant", "var");
@@ -3228,7 +3228,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Call_Transpose_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalVar("var", ty.mat2x3<f16>(), core::AddressSpace::kPrivate);
auto* expr = Call("transpose", "var");
@@ -3300,7 +3300,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Call_Dot_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalVar("v", ty.vec3<f16>(), core::AddressSpace::kPrivate);
auto* expr = Call("dot", "v", "v");
@@ -4159,7 +4159,7 @@
namespace DP4A_builtin_tests {
TEST_F(BuiltinSpirvASTPrinterTest, Call_Dot4I8Packed) {
- Enable(core::Extension::kChromiumExperimentalDp4A);
+ Enable(wgsl::Extension::kChromiumExperimentalDp4A);
auto* val1 = Var("val1", ty.u32());
auto* val2 = Var("val2", ty.u32());
@@ -4196,7 +4196,7 @@
}
TEST_F(BuiltinSpirvASTPrinterTest, Call_Dot4U8Packed) {
- Enable(core::Extension::kChromiumExperimentalDp4A);
+ Enable(wgsl::Extension::kChromiumExperimentalDp4A);
auto* val1 = Var("val1", ty.u32());
auto* val2 = Var("val2", ty.u32());
diff --git a/src/tint/lang/spirv/writer/ast_printer/ast_printer_test.cc b/src/tint/lang/spirv/writer/ast_printer/ast_printer_test.cc
index 8fabbf2..bcf0633 100644
--- a/src/tint/lang/spirv/writer/ast_printer/ast_printer_test.cc
+++ b/src/tint/lang/spirv/writer/ast_printer/ast_printer_test.cc
@@ -31,7 +31,7 @@
}
TEST_F(SpirvASTPrinterTest, UnsupportedExtension) {
- Enable(Source{{12, 34}}, core::Extension::kUndefined);
+ Enable(Source{{12, 34}}, wgsl::Extension::kUndefined);
auto program = std::make_unique<Program>(resolver::Resolve(*this));
auto result = Generate(program.get(), Options{});
diff --git a/src/tint/lang/spirv/writer/ast_printer/ast_type_test.cc b/src/tint/lang/spirv/writer/ast_printer/ast_type_test.cc
index a1b3ce6..d927699 100644
--- a/src/tint/lang/spirv/writer/ast_printer/ast_type_test.cc
+++ b/src/tint/lang/spirv/writer/ast_printer/ast_type_test.cc
@@ -324,7 +324,7 @@
}
TEST_F(SpirvASTPrinterTest_Type, GenerateStruct) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* s = Structure("my_struct", Vector{Member("a", ty.f32()), Member("b", ty.f16())});
@@ -345,7 +345,7 @@
}
TEST_F(SpirvASTPrinterTest_Type, GenerateStruct_DecoratedMembers) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* s = Structure("S", Vector{
Member("a", ty.f32()),
@@ -378,7 +378,7 @@
}
TEST_F(SpirvASTPrinterTest_Type, GenerateStruct_DecoratedMembers_Matrix) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* s = Structure("S", Vector{
Member("mat2x2_f32", ty.mat2x2<f32>()),
@@ -441,7 +441,7 @@
}
TEST_F(SpirvASTPrinterTest_Type, GenerateStruct_DecoratedMembers_ArraysOfMatrix) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto arr_mat2x2_f32 = ty.array(ty.mat2x2<f32>(), 1_u); // Singly nested array
auto arr_mat2x2_f16 = ty.array(ty.mat2x2<f16>(), 1_u); // Singly nested array
diff --git a/src/tint/lang/spirv/writer/ast_printer/binary_expression_test.cc b/src/tint/lang/spirv/writer/ast_printer/binary_expression_test.cc
index b5c9bcb..47f27be 100644
--- a/src/tint/lang/spirv/writer/ast_printer/binary_expression_test.cc
+++ b/src/tint/lang/spirv/writer/ast_printer/binary_expression_test.cc
@@ -251,7 +251,7 @@
using BinaryArithF16Test = TestParamHelper<BinaryData>;
TEST_P(BinaryArithF16Test, Scalar) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto param = GetParam();
@@ -276,7 +276,7 @@
}
TEST_P(BinaryArithF16Test, Vector) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto param = GetParam();
@@ -546,7 +546,7 @@
using BinaryCompareF16Test = TestParamHelper<BinaryData>;
TEST_P(BinaryCompareF16Test, Scalar) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto param = GetParam();
@@ -572,7 +572,7 @@
}
TEST_P(BinaryCompareF16Test, Vector) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto param = GetParam();
@@ -632,7 +632,7 @@
}
TEST_F(SpirvASTPrinterTest, Binary_Multiply_VectorScalar_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* lhs = Call<vec3<f16>>(1_h, 1_h, 1_h);
auto* rhs = Expr(1_h);
@@ -680,7 +680,7 @@
}
TEST_F(SpirvASTPrinterTest, Binary_Multiply_ScalarVector_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* lhs = Expr(1_h);
auto* rhs = Call<vec3<f16>>(1_h, 1_h, 1_h);
@@ -731,7 +731,7 @@
}
TEST_F(SpirvASTPrinterTest, Binary_Multiply_MatrixScalar_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("mat", ty.mat3x3<f16>());
auto* expr = create<ast::BinaryExpression>(core::BinaryOp::kMultiply, Expr("mat"), Expr(1_h));
@@ -785,7 +785,7 @@
}
TEST_F(SpirvASTPrinterTest, Binary_Multiply_ScalarMatrix_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("mat", ty.mat3x3<f16>());
auto* expr = create<ast::BinaryExpression>(core::BinaryOp::kMultiply, Expr(1_h), Expr("mat"));
@@ -841,7 +841,7 @@
}
TEST_F(SpirvASTPrinterTest, Binary_Multiply_MatrixVector_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("mat", ty.mat3x3<f16>());
auto* rhs = Call<vec3<f16>>(1_h, 1_h, 1_h);
@@ -899,7 +899,7 @@
}
TEST_F(SpirvASTPrinterTest, Binary_Multiply_VectorMatrix_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("mat", ty.mat3x3<f16>());
auto* lhs = Call<vec3<f16>>(1_h, 1_h, 1_h);
@@ -956,7 +956,7 @@
}
TEST_F(SpirvASTPrinterTest, Binary_Multiply_MatrixMatrix_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Var("mat", ty.mat3x3<f16>());
auto* expr = create<ast::BinaryExpression>(core::BinaryOp::kMultiply, Expr("mat"), Expr("mat"));
@@ -1348,7 +1348,7 @@
auto& param = GetParam();
if (param.type == Type::f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
}
const ast::Expression* lhs = MakeVectorExpr(this, param.type);
@@ -1400,7 +1400,7 @@
auto& param = GetParam();
if (param.type == Type::f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
}
const ast::Expression* lhs = MakeScalarExpr(this, param.type);
@@ -1480,7 +1480,7 @@
auto& param = GetParam();
if (param.type == Type::f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
}
const ast::Expression* lhs = MakeVectorExpr(this, param.type);
@@ -1528,7 +1528,7 @@
auto& param = GetParam();
if (param.type == Type::f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
}
const ast::Expression* lhs = MakeScalarExpr(this, param.type);
@@ -1643,7 +1643,7 @@
auto& param = GetParam();
if (param.type == Type::f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
}
const ast::Expression* lhs = MakeMat3x4Expr(this, param.type);
@@ -1706,7 +1706,7 @@
auto& param = GetParam();
if (param.type == Type::f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
}
const ast::Expression* lhs = MakeMat3x4Expr(this, param.type);
diff --git a/src/tint/lang/spirv/writer/ast_printer/builder.cc b/src/tint/lang/spirv/writer/ast_printer/builder.cc
index 65a13af..27fe8b4 100644
--- a/src/tint/lang/spirv/writer/ast_printer/builder.cc
+++ b/src/tint/lang/spirv/writer/ast_printer/builder.cc
@@ -263,14 +263,14 @@
if (!tint::writer::CheckSupportedExtensions(
"SPIR-V", builder_.AST(), builder_.Diagnostics(),
Vector{
- core::Extension::kChromiumDisableUniformityAnalysis,
- core::Extension::kChromiumExperimentalDp4A,
- core::Extension::kChromiumExperimentalFullPtrParameters,
- core::Extension::kChromiumExperimentalPushConstant,
- core::Extension::kChromiumExperimentalReadWriteStorageTexture,
- core::Extension::kChromiumExperimentalSubgroups,
- core::Extension::kF16,
- core::Extension::kChromiumInternalDualSourceBlending,
+ wgsl::Extension::kChromiumDisableUniformityAnalysis,
+ wgsl::Extension::kChromiumExperimentalDp4A,
+ wgsl::Extension::kChromiumExperimentalFullPtrParameters,
+ wgsl::Extension::kChromiumExperimentalPushConstant,
+ wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture,
+ wgsl::Extension::kChromiumExperimentalSubgroups,
+ wgsl::Extension::kF16,
+ wgsl::Extension::kChromiumInternalDualSourceBlending,
})) {
return false;
}
@@ -334,14 +334,14 @@
return Operand(module_.NextId());
}
-bool Builder::GenerateExtension(core::Extension extension) {
+bool Builder::GenerateExtension(wgsl::Extension extension) {
switch (extension) {
- case core::Extension::kChromiumExperimentalDp4A:
+ case wgsl::Extension::kChromiumExperimentalDp4A:
module_.PushExtension("SPV_KHR_integer_dot_product");
module_.PushCapability(SpvCapabilityDotProductKHR);
module_.PushCapability(SpvCapabilityDotProductInput4x8BitPackedKHR);
break;
- case core::Extension::kF16:
+ case wgsl::Extension::kF16:
module_.PushCapability(SpvCapabilityFloat16);
module_.PushCapability(SpvCapabilityUniformAndStorageBuffer16BitAccess);
module_.PushCapability(SpvCapabilityStorageBuffer16BitAccess);
diff --git a/src/tint/lang/spirv/writer/ast_printer/builder.h b/src/tint/lang/spirv/writer/ast_printer/builder.h
index 0f0c84b..c736697 100644
--- a/src/tint/lang/spirv/writer/ast_printer/builder.h
+++ b/src/tint/lang/spirv/writer/ast_printer/builder.h
@@ -153,7 +153,7 @@
/// not supported.
/// @param ext the extension to generate
/// @returns true on success.
- bool GenerateExtension(core::Extension ext);
+ bool GenerateExtension(wgsl::Extension ext);
/// Generates a label for the given id. Emits an error and returns false if
/// we're currently outside a function.
/// @param id the id to use for the label
diff --git a/src/tint/lang/spirv/writer/ast_printer/constructor_expression_test.cc b/src/tint/lang/spirv/writer/ast_printer/constructor_expression_test.cc
index b0618dd..30b1654 100644
--- a/src/tint/lang/spirv/writer/ast_printer/constructor_expression_test.cc
+++ b/src/tint/lang/spirv/writer/ast_printer/constructor_expression_test.cc
@@ -214,7 +214,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_F16_With_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<f16>(2_h);
WrapInFunction(cast);
@@ -289,7 +289,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec2_With_F16_Literal) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec2<f16>>(2_h);
WrapInFunction(cast);
@@ -333,7 +333,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec2_With_F16_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.f16(), Expr(2_h)));
auto* cast = Call<vec2<f16>>("x", "x");
@@ -378,7 +378,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec2_With_F16_F16_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec2<f16>>(1_h, 2_h);
WrapInFunction(cast);
@@ -423,7 +423,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec2_F16_With_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.vec2<f16>(), Call<vec2<f16>>(1_h, 2_h)));
auto* cast = Call<vec2<f16>>("x");
@@ -468,7 +468,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec2_F16_With_Vec2_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec2<f16>>(Call<vec2<f16>>(1_h, 2_h));
WrapInFunction(cast);
@@ -514,7 +514,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_With_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.f16(), Expr(2_h)));
auto* cast = Call<vec3<f16>>("x", "x", "x");
@@ -561,7 +561,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_With_F16_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(1_h, 2_h, 3_h);
WrapInFunction(cast);
@@ -652,7 +652,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_With_F16_F16_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.f16(), Expr(2_h)));
auto* cast = Call<vec3<f16>>("x", "x", "x");
@@ -699,7 +699,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_With_F16_F16_F16_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(1_h, 2_h, 3_h);
WrapInFunction(cast);
@@ -750,7 +750,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_With_F16_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.vec2<f16>(), Call<vec2<f16>>(2_h, 3_h)));
auto* cast = Call<vec3<f16>>(1_h, "x");
@@ -801,7 +801,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_With_F16_Vec2_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(1_h, Call<vec2<f16>>(2_h, 3_h));
WrapInFunction(cast);
@@ -852,7 +852,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_With_Vec2_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.vec2<f16>(), Call<vec2<f16>>(1_h, 2_h)));
auto* cast = Call<vec3<f16>>("x", 3_h);
@@ -903,7 +903,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_With_Vec2_F16_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(Call<vec2<f16>>(1_h, 2_h), 3_h);
WrapInFunction(cast);
@@ -950,7 +950,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_F16_With_Vec3) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.vec3<f16>(), Call<vec3<f16>>(1_h, 2_h, 3_h)));
auto* cast = Call<vec3<f16>>("x");
@@ -997,7 +997,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec3_F16_With_Vec3_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(Call<vec3<f16>>(1_h, 2_h, 3_h));
WrapInFunction(cast);
@@ -1083,7 +1083,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.f16(), Expr(2_h)));
auto* cast = Call<vec4<f16>>("x");
@@ -1126,7 +1126,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F16_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(2_h);
WrapInFunction(cast);
@@ -1172,7 +1172,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F16_F16_F16_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.f16(), Expr(2_h)));
auto* cast = Call<vec4<f16>>("x", "x", "x", "x");
@@ -1221,7 +1221,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F16_F16_F16_F16_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(1_h, 2_h, 3_h, 4_h);
WrapInFunction(cast);
@@ -1272,7 +1272,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F16_F16_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.vec2<f16>(), Call<vec2<f16>>(1_h, 2_h)));
auto* cast = Call<vec4<f16>>(1_h, 2_h, "x");
@@ -1323,7 +1323,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F16_F16_Vec2_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(1_h, 2_h, Call<vec2<f16>>(3_h, 4_h));
WrapInFunction(cast);
@@ -1376,7 +1376,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F16_Vec2_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.vec2<f16>(), Call<vec2<f16>>(2_h, 3_h)));
auto* cast = Call<vec4<f16>>(1_h, "x", 4_h);
@@ -1429,7 +1429,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F16_Vec2_F16_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(1_h, Call<vec2<f16>>(2_h, 3_h), 4_h);
WrapInFunction(cast);
@@ -1482,7 +1482,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_Vec2_F16_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.vec2<f16>(), Call<vec2<f16>>(1_h, 2_h)));
auto* cast = Call<vec4<f16>>("x", 3_h, 4_h);
@@ -1535,7 +1535,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_Vec2_F16_F16_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(Call<vec2<f16>>(1_h, 2_h), 3_h, 4_h);
WrapInFunction(cast);
@@ -1589,7 +1589,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_F16_With_Vec2_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.vec2<f16>(), Call<vec2<f16>>(1_h, 2_h)));
auto* cast = Call<vec4<f16>>("x", "x");
@@ -1641,7 +1641,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_F16_With_Vec2_Vec2_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(Call<vec2<f16>>(1_h, 2_h), Call<vec2<f16>>(1_h, 2_h));
WrapInFunction(cast);
@@ -1690,7 +1690,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F16_Vec3) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.vec3<f16>(), Call<vec3<f16>>(2_h, 2_h, 2_h)));
auto* cast = Call<vec4<f16>>(2_h, "x");
@@ -1738,7 +1738,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_F16_Vec3_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(2_h, Call<vec3<f16>>(2_h, 2_h, 2_h));
WrapInFunction(cast);
@@ -1786,7 +1786,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_Vec3_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.vec3<f16>(), Call<vec3<f16>>(2_h, 2_h, 2_h)));
auto* cast = Call<vec4<f16>>("x", 2_h);
@@ -1834,7 +1834,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_With_Vec3_F16_Const) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(Call<vec3<f16>>(2_h, 2_h, 2_h), 2_h);
WrapInFunction(cast);
@@ -1871,7 +1871,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Vec4_F16_With_Vec4) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* value = Call<vec4<f16>>(2_h, 2_h, 2_h, 2_h);
auto* cast = Call<vec4<f16>>(value);
@@ -1912,7 +1912,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_F16_With_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* ctor = Call<f16>(2_h);
GlobalConst("g", ty.f16(), ctor);
@@ -1952,7 +1952,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_F16_With_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* ctor = Call<f16>(2_h);
GlobalVar("g", ty.f16(), core::AddressSpace::kPrivate, ctor);
@@ -1992,7 +1992,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_U32_With_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* ctor = Call<u32>(1.5_h);
GlobalConst("g", ty.u32(), ctor);
@@ -2032,7 +2032,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_U32_With_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* ctor = Call<u32>(1.5_h);
GlobalVar("g", ty.u32(), core::AddressSpace::kPrivate, ctor);
@@ -2074,7 +2074,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_Vec2_With_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec2<f16>>(2_h);
GlobalConst("g", ty.vec2<f16>(), cast);
@@ -2115,7 +2115,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec2_With_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec2<f16>>(2_h);
auto* g = GlobalVar("g", ty.vec2<f16>(), core::AddressSpace::kPrivate, cast);
@@ -2156,7 +2156,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_Vec2_F16_With_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec2<f16>>(Call<vec2<f16>>(2_h, 2_h));
GlobalConst("g", ty.vec2<f16>(), cast);
@@ -2201,7 +2201,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec2_F16_With_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec2<f16>>(Call<vec2<f16>>(2_h, 2_h));
GlobalVar("a", ty.vec2<f16>(), core::AddressSpace::kPrivate, cast);
@@ -2246,7 +2246,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_Vec3_F16_With_Vec3) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(Call<vec3<f16>>(2_h, 2_h, 2_h));
GlobalConst("g", ty.vec3<f16>(), cast);
@@ -2291,7 +2291,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec3_F16_With_Vec3) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(Call<vec3<f16>>(2_h, 2_h, 2_h));
GlobalVar("a", ty.vec3<f16>(), core::AddressSpace::kPrivate, cast);
@@ -2336,7 +2336,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_Vec4_F16_With_Vec4) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(Call<vec4<f16>>(2_h, 2_h, 2_h, 2_h));
GlobalConst("g", ty.vec4<f16>(), cast);
@@ -2381,7 +2381,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec4_F16_With_Vec4) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(Call<vec4<f16>>(2_h, 2_h, 2_h, 2_h));
GlobalVar("a", ty.vec4<f16>(), core::AddressSpace::kPrivate, cast);
@@ -2426,7 +2426,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_Vec3_With_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(2_h);
GlobalConst("g", ty.vec3<f16>(), cast);
@@ -2467,7 +2467,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec3_With_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(2_h);
auto* g = GlobalVar("g", ty.vec3<f16>(), core::AddressSpace::kPrivate, cast);
@@ -2508,7 +2508,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_Vec3_With_F16_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(2_h, Call<vec2<f16>>(2_h, 2_h));
GlobalConst("g", ty.vec3<f16>(), cast);
@@ -2549,7 +2549,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec3_With_F16_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(2_h, Call<vec2<f16>>(2_h, 2_h));
auto* g = GlobalVar("g", ty.vec3<f16>(), core::AddressSpace::kPrivate, cast);
@@ -2590,7 +2590,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_Vec3_With_Vec2_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(Call<vec2<f16>>(2_h, 2_h), 2_h);
GlobalConst("g", ty.vec3<f16>(), cast);
@@ -2631,7 +2631,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec3_With_Vec2_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(Call<vec2<f16>>(2_h, 2_h), 2_h);
auto* g = GlobalVar("g", ty.vec3<f16>(), core::AddressSpace::kPrivate, cast);
@@ -2672,7 +2672,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_Vec4_With_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(2_h);
GlobalConst("g", ty.vec4<f16>(), cast);
@@ -2713,7 +2713,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec4_With_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(2_h);
auto* g = GlobalVar("g", ty.vec4<f16>(), core::AddressSpace::kPrivate, cast);
@@ -2754,7 +2754,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_Vec4_With_F16_F16_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(2_h, 2_h, Call<vec2<f16>>(2_h, 2_h));
GlobalConst("g", ty.vec4<f16>(), cast);
@@ -2795,7 +2795,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec4_With_F16_F16_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(2_h, 2_h, Call<vec2<f16>>(2_h, 2_h));
auto* g = GlobalVar("g", ty.vec4<f16>(), core::AddressSpace::kPrivate, cast);
@@ -2836,7 +2836,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_Vec4_With_F16_Vec2_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(2_h, Call<vec2<f16>>(2_h, 2_h), 2_h);
GlobalConst("g", ty.vec4<f16>(), cast);
@@ -2877,7 +2877,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec4_With_F16_Vec2_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(2_h, Call<vec2<f16>>(2_h, 2_h), 2_h);
auto* g = GlobalVar("g", ty.vec4<f16>(), core::AddressSpace::kPrivate, cast);
@@ -2918,7 +2918,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_Vec4_With_Vec2_F16_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(Call<vec2<f16>>(2_h, 2_h), 2_h, 2_h);
GlobalConst("g", ty.vec4<f16>(), cast);
@@ -2959,7 +2959,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec4_With_Vec2_F16_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(Call<vec2<f16>>(2_h, 2_h), 2_h, 2_h);
auto* g = GlobalVar("g", ty.vec4<f16>(), core::AddressSpace::kPrivate, cast);
@@ -3000,7 +3000,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_Vec4_F16_With_Vec2_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(Call<vec2<f16>>(2_h, 2_h), Call<vec2<f16>>(2_h, 2_h));
GlobalConst("g", ty.vec4<f16>(), cast);
@@ -3041,7 +3041,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec4_F16_With_Vec2_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(Call<vec2<f16>>(2_h, 2_h), Call<vec2<f16>>(2_h, 2_h));
auto* g = GlobalVar("g", ty.vec4<f16>(), core::AddressSpace::kPrivate, cast);
@@ -3098,7 +3098,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec4_With_F16_Vec3) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(2_h, Call<vec3<f16>>(2_h, 2_h, 2_h));
auto* g = GlobalVar("g", ty.vec4<f16>(), core::AddressSpace::kPrivate, cast);
@@ -3139,7 +3139,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalConst_Vec4_With_Vec3_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(Call<vec3<f16>>(2_h, 2_h, 2_h), 2_h);
GlobalConst("g", ty.vec4<f16>(), cast);
@@ -3180,7 +3180,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_GlobalVar_Vec4_With_Vec3_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec4<f16>>(Call<vec3<f16>>(2_h, 2_h, 2_h), 2_h);
auto* g = GlobalVar("g", ty.vec4<f16>(), core::AddressSpace::kPrivate, cast);
@@ -3216,7 +3216,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat2x2_F16_With_Vec2_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<mat2x2<f16>>(Call<vec2<f16>>(2_h, 2_h), Call<vec2<f16>>(2_h, 2_h));
WrapInFunction(cast);
@@ -3255,7 +3255,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat3x2_F16_With_Vec2_Vec2_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<mat3x2<f16>>(Call<vec2<f16>>(2_h, 2_h), Call<vec2<f16>>(2_h, 2_h),
Call<vec2<f16>>(2_h, 2_h));
@@ -3295,7 +3295,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat4x2_F16_With_Vec2_Vec2_Vec2_Vec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<mat4x2<f16>>(Call<vec2<f16>>(2_h, 2_h), Call<vec2<f16>>(2_h, 2_h),
Call<vec2<f16>>(2_h, 2_h), Call<vec2<f16>>(2_h, 2_h));
@@ -3334,7 +3334,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat2x3_F16_With_Vec3_Vec3) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<mat2x3<f16>>(Call<vec3<f16>>(2_h, 2_h, 2_h), Call<vec3<f16>>(2_h, 2_h, 2_h));
WrapInFunction(cast);
@@ -3373,7 +3373,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat3x3_F16_With_Vec3_Vec3_Vec3) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<mat3x3<f16>>(Call<vec3<f16>>(2_h, 2_h, 2_h), Call<vec3<f16>>(2_h, 2_h, 2_h),
Call<vec3<f16>>(2_h, 2_h, 2_h));
@@ -3413,7 +3413,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat4x3_F16_With_Vec3_Vec3_Vec3_Vec3) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<mat4x3<f16>>(Call<vec3<f16>>(2_h, 2_h, 2_h), Call<vec3<f16>>(2_h, 2_h, 2_h),
Call<vec3<f16>>(2_h, 2_h, 2_h), Call<vec3<f16>>(2_h, 2_h, 2_h));
@@ -3453,7 +3453,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat2x4_F16_With_Vec4_Vec4) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast =
Call<mat2x4<f16>>(Call<vec4<f16>>(2_h, 2_h, 2_h, 2_h), Call<vec4<f16>>(2_h, 2_h, 2_h, 2_h));
@@ -3494,7 +3494,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat3x4_F16_With_Vec4_Vec4_Vec4) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast =
Call<mat3x4<f16>>(Call<vec4<f16>>(2_h, 2_h, 2_h, 2_h), Call<vec4<f16>>(2_h, 2_h, 2_h, 2_h),
@@ -3536,7 +3536,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Mat4x4_F16_With_Vec4_Vec4_Vec4_Vec4) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast =
Call<mat4x4<f16>>(Call<vec4<f16>>(2_h, 2_h, 2_h, 2_h), Call<vec4<f16>>(2_h, 2_h, 2_h, 2_h),
@@ -3576,7 +3576,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Array_5_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<array<f16, 5>>(2_h, 2_h, 2_h, 2_h, 2_h);
WrapInFunction(cast);
@@ -3618,7 +3618,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Array_2_Vec3_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* first = Call<vec3<f16>>(1_h, 2_h, 3_h);
auto* second = Call<vec3<f16>>(1_h, 2_h, 3_h);
@@ -3747,7 +3747,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ZeroInit_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* t = Call<f16>();
@@ -3854,7 +3854,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_ZeroInit_Matrix_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* t = Call<mat4x2<f16>>();
@@ -3961,7 +3961,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_F16_To_I32) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.f16(), Expr(2.4_h)));
auto* cast = Call<i32>("x");
@@ -4035,7 +4035,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_F16_To_U32) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.f16(), Expr(2.4_h)));
auto* cast = Call<u32>("x");
@@ -4109,7 +4109,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_F16_To_F32) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.f16(), Expr(2_h)));
auto* cast = Call<f32>("x");
@@ -4135,7 +4135,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_I32_To_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.i32(), Expr(2_i)));
auto* cast = Call<f16>("x");
@@ -4161,7 +4161,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_U32_To_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.u32(), Expr(2_u)));
auto* cast = Call<f16>("x");
@@ -4187,7 +4187,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_F32_To_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = Decl(Var("x", ty.f32(), Expr(2_f)));
auto* cast = Call<f16>("x");
@@ -4265,7 +4265,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_Vectors_F16_to_I32) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalVar("i", ty.vec3<f16>(), core::AddressSpace::kPrivate);
@@ -4345,7 +4345,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_Vectors_F16_to_U32) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalVar("i", ty.vec3<f16>(), core::AddressSpace::kPrivate);
@@ -4425,7 +4425,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_Vectors_F16_to_F32) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalVar("i", ty.vec3<f16>(), core::AddressSpace::kPrivate);
@@ -4453,7 +4453,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_Vectors_I32_to_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalVar("i", ty.vec3<i32>(), core::AddressSpace::kPrivate);
@@ -4481,7 +4481,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_Vectors_U32_to_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalVar("i", ty.vec3<u32>(), core::AddressSpace::kPrivate);
@@ -4509,7 +4509,7 @@
}
TEST_F(SpvBuilderConstructorTest, Type_Convert_Vectors_F32_to_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* var = GlobalVar("i", ty.vec3<f32>(), core::AddressSpace::kPrivate);
diff --git a/src/tint/lang/spirv/writer/ast_printer/global_variable_test.cc b/src/tint/lang/spirv/writer/ast_printer/global_variable_test.cc
index d5d028a..97ea5db 100644
--- a/src/tint/lang/spirv/writer/ast_printer/global_variable_test.cc
+++ b/src/tint/lang/spirv/writer/ast_printer/global_variable_test.cc
@@ -120,7 +120,7 @@
TEST_F(SpirvASTPrinterTest, GlobalConst_Vec_F16_Initializer) {
// const c = vec3<f16>(1h, 2h, 3h);
// var v = c;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* c = GlobalConst("c", Call<vec3<f16>>(1_h, 2_h, 3_h));
GlobalVar("v", core::AddressSpace::kPrivate, Expr(c));
diff --git a/src/tint/lang/spirv/writer/ast_printer/literal_test.cc b/src/tint/lang/spirv/writer/ast_printer/literal_test.cc
index 4376ce8..33dbe0f 100644
--- a/src/tint/lang/spirv/writer/ast_printer/literal_test.cc
+++ b/src/tint/lang/spirv/writer/ast_printer/literal_test.cc
@@ -164,7 +164,7 @@
}
TEST_F(SpirvASTPrinterTest, Literal_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* i = create<ast::FloatLiteralExpression>(23.245, ast::FloatLiteralExpression::Suffix::kH);
WrapInFunction(i);
@@ -181,7 +181,7 @@
}
TEST_F(SpirvASTPrinterTest, Literal_F16_Dedup) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* i1 = create<ast::FloatLiteralExpression>(23.245, ast::FloatLiteralExpression::Suffix::kH);
auto* i2 = create<ast::FloatLiteralExpression>(23.245, ast::FloatLiteralExpression::Suffix::kH);
diff --git a/src/tint/lang/spirv/writer/ast_raise/BUILD.bazel b/src/tint/lang/spirv/writer/ast_raise/BUILD.bazel
index 52b5e8b..4712380 100644
--- a/src/tint/lang/spirv/writer/ast_raise/BUILD.bazel
+++ b/src/tint/lang/spirv/writer/ast_raise/BUILD.bazel
@@ -46,6 +46,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
@@ -83,6 +84,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/ast/transform:test",
diff --git a/src/tint/lang/spirv/writer/ast_raise/BUILD.cmake b/src/tint/lang/spirv/writer/ast_raise/BUILD.cmake
index 3ae2021..c20fa20 100644
--- a/src/tint/lang/spirv/writer/ast_raise/BUILD.cmake
+++ b/src/tint/lang/spirv/writer/ast_raise/BUILD.cmake
@@ -47,6 +47,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
@@ -87,6 +88,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_ast_transform_test
diff --git a/src/tint/lang/spirv/writer/ast_raise/BUILD.gn b/src/tint/lang/spirv/writer/ast_raise/BUILD.gn
index fbcc1cc..4c4d9f3 100644
--- a/src/tint/lang/spirv/writer/ast_raise/BUILD.gn
+++ b/src/tint/lang/spirv/writer/ast_raise/BUILD.gn
@@ -49,6 +49,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
@@ -87,6 +88,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/ast/transform:unittests",
diff --git a/src/tint/lang/spirv/writer/ast_raise/clamp_frag_depth.cc b/src/tint/lang/spirv/writer/ast_raise/clamp_frag_depth.cc
index af4a0c5..e49c951 100644
--- a/src/tint/lang/spirv/writer/ast_raise/clamp_frag_depth.cc
+++ b/src/tint/lang/spirv/writer/ast_raise/clamp_frag_depth.cc
@@ -81,7 +81,7 @@
// fn clamp_frag_depth(v : f32) -> f32 {
// return clamp(v, frag_depth_clamp_args.min, frag_depth_clamp_args.max);
// }
- b.Enable(core::Extension::kChromiumExperimentalPushConstant);
+ b.Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
b.Structure(b.Symbols().New("FragDepthClampArgs"),
Vector{b.Member("min", b.ty.f32()), b.Member("max", b.ty.f32())});
diff --git a/src/tint/lang/spirv/writer/printer/BUILD.bazel b/src/tint/lang/spirv/writer/printer/BUILD.bazel
index 27a6c34..672fdad 100644
--- a/src/tint/lang/spirv/writer/printer/BUILD.bazel
+++ b/src/tint/lang/spirv/writer/printer/BUILD.bazel
@@ -43,6 +43,7 @@
"//src/tint/lang/spirv/intrinsic/data",
"//src/tint/lang/spirv/ir",
"//src/tint/lang/spirv/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
diff --git a/src/tint/lang/spirv/writer/printer/BUILD.cmake b/src/tint/lang/spirv/writer/printer/BUILD.cmake
index 18d6d86..e296599 100644
--- a/src/tint/lang/spirv/writer/printer/BUILD.cmake
+++ b/src/tint/lang/spirv/writer/printer/BUILD.cmake
@@ -44,6 +44,7 @@
tint_lang_spirv_intrinsic_data
tint_lang_spirv_ir
tint_lang_spirv_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
diff --git a/src/tint/lang/spirv/writer/printer/BUILD.gn b/src/tint/lang/spirv/writer/printer/BUILD.gn
index 07c5fcf..fd1dd71 100644
--- a/src/tint/lang/spirv/writer/printer/BUILD.gn
+++ b/src/tint/lang/spirv/writer/printer/BUILD.gn
@@ -42,6 +42,7 @@
"${tint_src_dir}/lang/spirv/intrinsic/data",
"${tint_src_dir}/lang/spirv/ir",
"${tint_src_dir}/lang/spirv/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
diff --git a/src/tint/lang/wgsl/BUILD.bazel b/src/tint/lang/wgsl/BUILD.bazel
index 44d29ff..d235e5b 100644
--- a/src/tint/lang/wgsl/BUILD.bazel
+++ b/src/tint/lang/wgsl/BUILD.bazel
@@ -24,9 +24,38 @@
load("//src/tint:flags.bzl", "COPTS")
load("@bazel_skylib//lib:selects.bzl", "selects")
cc_library(
+ name = "wgsl",
+ srcs = [
+ "diagnostic_rule.cc",
+ "diagnostic_severity.cc",
+ "extension.cc",
+ ],
+ hdrs = [
+ "diagnostic_rule.h",
+ "diagnostic_severity.h",
+ "extension.h",
+ ],
+ deps = [
+ "//src/tint/utils/containers",
+ "//src/tint/utils/diagnostic",
+ "//src/tint/utils/ice",
+ "//src/tint/utils/macros",
+ "//src/tint/utils/math",
+ "//src/tint/utils/memory",
+ "//src/tint/utils/rtti",
+ "//src/tint/utils/text",
+ "//src/tint/utils/traits",
+ ],
+ copts = COPTS,
+ visibility = ["//visibility:public"],
+)
+cc_library(
name = "test",
alwayslink = True,
srcs = [
+ "diagnostic_rule_test.cc",
+ "diagnostic_severity_test.cc",
+ "extension_test.cc",
"wgsl_test.cc",
] + select({
":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
@@ -40,6 +69,7 @@
"//src/tint/lang/core/constant",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/helpers:test",
"//src/tint/lang/wgsl/program",
@@ -67,6 +97,28 @@
copts = COPTS,
visibility = ["//visibility:public"],
)
+cc_library(
+ name = "bench",
+ srcs = [
+ "diagnostic_rule_bench.cc",
+ "diagnostic_severity_bench.cc",
+ "extension_bench.cc",
+ ],
+ deps = [
+ "//src/tint/lang/wgsl",
+ "//src/tint/utils/containers",
+ "//src/tint/utils/diagnostic",
+ "//src/tint/utils/ice",
+ "//src/tint/utils/macros",
+ "//src/tint/utils/math",
+ "//src/tint/utils/memory",
+ "//src/tint/utils/rtti",
+ "//src/tint/utils/text",
+ "//src/tint/utils/traits",
+ ],
+ copts = COPTS,
+ visibility = ["//visibility:public"],
+)
alias(
name = "tint_build_wgsl_reader",
diff --git a/src/tint/lang/wgsl/BUILD.cmake b/src/tint/lang/wgsl/BUILD.cmake
index 64bdc34..c4ee2f3 100644
--- a/src/tint/lang/wgsl/BUILD.cmake
+++ b/src/tint/lang/wgsl/BUILD.cmake
@@ -31,10 +31,38 @@
include(lang/wgsl/writer/BUILD.cmake)
################################################################################
+# Target: tint_lang_wgsl
+# Kind: lib
+################################################################################
+tint_add_target(tint_lang_wgsl lib
+ lang/wgsl/diagnostic_rule.cc
+ lang/wgsl/diagnostic_rule.h
+ lang/wgsl/diagnostic_severity.cc
+ lang/wgsl/diagnostic_severity.h
+ lang/wgsl/extension.cc
+ lang/wgsl/extension.h
+)
+
+tint_target_add_dependencies(tint_lang_wgsl lib
+ tint_utils_containers
+ tint_utils_diagnostic
+ tint_utils_ice
+ tint_utils_macros
+ tint_utils_math
+ tint_utils_memory
+ tint_utils_rtti
+ tint_utils_text
+ tint_utils_traits
+)
+
+################################################################################
# Target: tint_lang_wgsl_test
# Kind: test
################################################################################
tint_add_target(tint_lang_wgsl_test test
+ lang/wgsl/diagnostic_rule_test.cc
+ lang/wgsl/diagnostic_severity_test.cc
+ lang/wgsl/extension_test.cc
lang/wgsl/wgsl_test.cc
)
@@ -44,6 +72,7 @@
tint_lang_core_constant
tint_lang_core_ir
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_helpers_test
tint_lang_wgsl_program
@@ -77,3 +106,26 @@
"lang/wgsl/ir_roundtrip_test.cc"
)
endif(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
+
+################################################################################
+# Target: tint_lang_wgsl_bench
+# Kind: bench
+################################################################################
+tint_add_target(tint_lang_wgsl_bench bench
+ lang/wgsl/diagnostic_rule_bench.cc
+ lang/wgsl/diagnostic_severity_bench.cc
+ lang/wgsl/extension_bench.cc
+)
+
+tint_target_add_dependencies(tint_lang_wgsl_bench bench
+ tint_lang_wgsl
+ tint_utils_containers
+ tint_utils_diagnostic
+ tint_utils_ice
+ tint_utils_macros
+ tint_utils_math
+ tint_utils_memory
+ tint_utils_rtti
+ tint_utils_text
+ tint_utils_traits
+)
diff --git a/src/tint/lang/wgsl/BUILD.gn b/src/tint/lang/wgsl/BUILD.gn
index 67a6ed6..dafa9c3 100644
--- a/src/tint/lang/wgsl/BUILD.gn
+++ b/src/tint/lang/wgsl/BUILD.gn
@@ -28,10 +28,37 @@
if (tint_build_unittests) {
import("//testing/test.gni")
}
+
+libtint_source_set("wgsl") {
+ sources = [
+ "diagnostic_rule.cc",
+ "diagnostic_rule.h",
+ "diagnostic_severity.cc",
+ "diagnostic_severity.h",
+ "extension.cc",
+ "extension.h",
+ ]
+ deps = [
+ "${tint_src_dir}/utils/containers",
+ "${tint_src_dir}/utils/diagnostic",
+ "${tint_src_dir}/utils/ice",
+ "${tint_src_dir}/utils/macros",
+ "${tint_src_dir}/utils/math",
+ "${tint_src_dir}/utils/memory",
+ "${tint_src_dir}/utils/rtti",
+ "${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/traits",
+ ]
+}
if (tint_build_unittests) {
tint_unittests_source_set("unittests") {
testonly = true
- sources = [ "wgsl_test.cc" ]
+ sources = [
+ "diagnostic_rule_test.cc",
+ "diagnostic_severity_test.cc",
+ "extension_test.cc",
+ "wgsl_test.cc",
+ ]
deps = [
"${tint_src_dir}:gmock_and_gtest",
"${tint_src_dir}/api/common",
@@ -39,6 +66,7 @@
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/helpers:unittests",
"${tint_src_dir}/lang/wgsl/program",
diff --git a/src/tint/lang/wgsl/ast/BUILD.bazel b/src/tint/lang/wgsl/ast/BUILD.bazel
index ebc4a92..1674ad6 100644
--- a/src/tint/lang/wgsl/ast/BUILD.bazel
+++ b/src/tint/lang/wgsl/ast/BUILD.bazel
@@ -190,6 +190,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
"//src/tint/utils/ice",
@@ -280,6 +281,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
diff --git a/src/tint/lang/wgsl/ast/BUILD.cmake b/src/tint/lang/wgsl/ast/BUILD.cmake
index 3a06809..9715482 100644
--- a/src/tint/lang/wgsl/ast/BUILD.cmake
+++ b/src/tint/lang/wgsl/ast/BUILD.cmake
@@ -191,6 +191,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_utils_containers
tint_utils_diagnostic
tint_utils_ice
@@ -281,6 +282,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
diff --git a/src/tint/lang/wgsl/ast/BUILD.gn b/src/tint/lang/wgsl/ast/BUILD.gn
index d74d107..3732774 100644
--- a/src/tint/lang/wgsl/ast/BUILD.gn
+++ b/src/tint/lang/wgsl/ast/BUILD.gn
@@ -193,6 +193,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
"${tint_src_dir}/utils/ice",
@@ -282,6 +283,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
diff --git a/src/tint/lang/wgsl/ast/block_statement_test.cc b/src/tint/lang/wgsl/ast/block_statement_test.cc
index c9f0289..f4de519 100644
--- a/src/tint/lang/wgsl/ast/block_statement_test.cc
+++ b/src/tint/lang/wgsl/ast/block_statement_test.cc
@@ -45,8 +45,8 @@
auto* d = create<DiscardStatement>();
auto* ptr = d;
- auto* attr1 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "foo");
- auto* attr2 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "bar");
+ auto* attr1 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "foo");
+ auto* attr2 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "bar");
auto* b = create<BlockStatement>(tint::Vector{d}, tint::Vector{attr1, attr2});
ASSERT_EQ(b->statements.Length(), 1u);
diff --git a/src/tint/lang/wgsl/ast/builder.h b/src/tint/lang/wgsl/ast/builder.h
index e575633..72f9052 100644
--- a/src/tint/lang/wgsl/ast/builder.h
+++ b/src/tint/lang/wgsl/ast/builder.h
@@ -22,7 +22,6 @@
#include "src/tint/api/common/override_id.h"
#include "src/tint/lang/core/constant/manager.h"
-#include "src/tint/lang/core/extension.h"
#include "src/tint/lang/core/fluent_types.h"
#include "src/tint/lang/core/interpolation_sampling.h"
#include "src/tint/lang/core/interpolation_type.h"
@@ -100,6 +99,7 @@
#include "src/tint/lang/wgsl/ast/variable_decl_statement.h"
#include "src/tint/lang/wgsl/ast/while_statement.h"
#include "src/tint/lang/wgsl/ast/workgroup_attribute.h"
+#include "src/tint/lang/wgsl/extension.h"
#include "src/tint/utils/id/generation_id.h"
#include "src/tint/utils/text/string.h"
@@ -1586,7 +1586,7 @@
/// Adds the extension to the list of enable directives at the top of the module.
/// @param extension the extension to enable
/// @return an `ast::Enable` enabling the given extension.
- const ast::Enable* Enable(core::Extension extension) {
+ const ast::Enable* Enable(wgsl::Extension extension) {
auto* ext = create<ast::Extension>(extension);
auto* enable = create<ast::Enable>(Vector{ext});
AST().AddEnable(enable);
@@ -1597,7 +1597,7 @@
/// @param source the enable source
/// @param extension the extension to enable
/// @return an `ast::Enable` enabling the given extension.
- const ast::Enable* Enable(const Source& source, core::Extension extension) {
+ const ast::Enable* Enable(const Source& source, wgsl::Extension extension) {
auto* ext = create<ast::Extension>(source, extension);
auto* enable = create<ast::Enable>(source, Vector{ext});
AST().AddEnable(enable);
@@ -3350,7 +3350,7 @@
/// @returns the diagnostic attribute pointer
template <typename... RULE_ARGS>
const ast::DiagnosticAttribute* DiagnosticAttribute(const Source& source,
- core::DiagnosticSeverity severity,
+ wgsl::DiagnosticSeverity severity,
RULE_ARGS&&... rule_args) {
return create<ast::DiagnosticAttribute>(
source, ast::DiagnosticControl(
@@ -3362,7 +3362,7 @@
/// @param rule_args the arguments used to construct the rule name
/// @returns the diagnostic attribute pointer
template <typename... RULE_ARGS>
- const ast::DiagnosticAttribute* DiagnosticAttribute(core::DiagnosticSeverity severity,
+ const ast::DiagnosticAttribute* DiagnosticAttribute(wgsl::DiagnosticSeverity severity,
RULE_ARGS&&... rule_args) {
return create<ast::DiagnosticAttribute>(
source_, ast::DiagnosticControl(
@@ -3376,7 +3376,7 @@
/// @returns the diagnostic directive pointer
template <typename... RULE_ARGS>
const ast::DiagnosticDirective* DiagnosticDirective(const Source& source,
- core::DiagnosticSeverity severity,
+ wgsl::DiagnosticSeverity severity,
RULE_ARGS&&... rule_args) {
auto* rule = DiagnosticRuleName(std::forward<RULE_ARGS>(rule_args)...);
auto* directive =
@@ -3390,7 +3390,7 @@
/// @param rule_args the arguments used to construct the rule name
/// @returns the diagnostic directive pointer
template <typename... RULE_ARGS>
- const ast::DiagnosticDirective* DiagnosticDirective(core::DiagnosticSeverity severity,
+ const ast::DiagnosticDirective* DiagnosticDirective(wgsl::DiagnosticSeverity severity,
RULE_ARGS&&... rule_args) {
auto* rule = DiagnosticRuleName(std::forward<RULE_ARGS>(rule_args)...);
auto* directive =
diff --git a/src/tint/lang/wgsl/ast/diagnostic_attribute_test.cc b/src/tint/lang/wgsl/ast/diagnostic_attribute_test.cc
index 3d6744f..c9dbe56 100644
--- a/src/tint/lang/wgsl/ast/diagnostic_attribute_test.cc
+++ b/src/tint/lang/wgsl/ast/diagnostic_attribute_test.cc
@@ -21,17 +21,17 @@
using DiagnosticAttributeTest = TestHelper;
TEST_F(DiagnosticAttributeTest, Name) {
- auto* d = DiagnosticAttribute(core::DiagnosticSeverity::kWarning, "foo");
+ auto* d = DiagnosticAttribute(wgsl::DiagnosticSeverity::kWarning, "foo");
EXPECT_EQ(d->Name(), "diagnostic");
- EXPECT_EQ(d->control.severity, core::DiagnosticSeverity::kWarning);
+ EXPECT_EQ(d->control.severity, wgsl::DiagnosticSeverity::kWarning);
EXPECT_EQ(d->control.rule_name->category, nullptr);
CheckIdentifier(d->control.rule_name->name, "foo");
}
TEST_F(DiagnosticAttributeTest, CategoryAndName) {
- auto* d = DiagnosticAttribute(core::DiagnosticSeverity::kWarning, "foo", "bar");
+ auto* d = DiagnosticAttribute(wgsl::DiagnosticSeverity::kWarning, "foo", "bar");
EXPECT_EQ(d->Name(), "diagnostic");
- EXPECT_EQ(d->control.severity, core::DiagnosticSeverity::kWarning);
+ EXPECT_EQ(d->control.severity, wgsl::DiagnosticSeverity::kWarning);
CheckIdentifier(d->control.rule_name->category, "foo");
CheckIdentifier(d->control.rule_name->name, "bar");
}
diff --git a/src/tint/lang/wgsl/ast/diagnostic_control.cc b/src/tint/lang/wgsl/ast/diagnostic_control.cc
index 4cec214..74935c7 100644
--- a/src/tint/lang/wgsl/ast/diagnostic_control.cc
+++ b/src/tint/lang/wgsl/ast/diagnostic_control.cc
@@ -16,15 +16,15 @@
#include <string>
-#include "src/tint/lang/core/diagnostic_severity.h"
#include "src/tint/lang/wgsl/ast/identifier.h"
#include "src/tint/lang/wgsl/ast/templated_identifier.h"
+#include "src/tint/lang/wgsl/diagnostic_severity.h"
namespace tint::ast {
DiagnosticControl::DiagnosticControl() = default;
-DiagnosticControl::DiagnosticControl(core::DiagnosticSeverity sev, const DiagnosticRuleName* rule)
+DiagnosticControl::DiagnosticControl(wgsl::DiagnosticSeverity sev, const DiagnosticRuleName* rule)
: severity(sev), rule_name(rule) {
TINT_ASSERT(rule != nullptr);
}
diff --git a/src/tint/lang/wgsl/ast/diagnostic_control.h b/src/tint/lang/wgsl/ast/diagnostic_control.h
index cf5cefd..c0e492b 100644
--- a/src/tint/lang/wgsl/ast/diagnostic_control.h
+++ b/src/tint/lang/wgsl/ast/diagnostic_control.h
@@ -18,7 +18,7 @@
#include <string>
#include <unordered_map>
-#include "src/tint/lang/core/diagnostic_severity.h"
+#include "src/tint/lang/wgsl/diagnostic_severity.h"
#include "src/tint/utils/diagnostic/diagnostic.h"
// Forward declarations
@@ -37,13 +37,13 @@
/// Constructor
/// @param sev the diagnostic severity
/// @param rule the diagnostic rule name
- DiagnosticControl(core::DiagnosticSeverity sev, const DiagnosticRuleName* rule);
+ DiagnosticControl(wgsl::DiagnosticSeverity sev, const DiagnosticRuleName* rule);
/// Move constructor
DiagnosticControl(DiagnosticControl&&);
/// The diagnostic severity control.
- core::DiagnosticSeverity severity = core::DiagnosticSeverity::kUndefined;
+ wgsl::DiagnosticSeverity severity = wgsl::DiagnosticSeverity::kUndefined;
/// The diagnostic rule name.
const DiagnosticRuleName* rule_name = nullptr;
diff --git a/src/tint/lang/wgsl/ast/diagnostic_control_test.cc b/src/tint/lang/wgsl/ast/diagnostic_control_test.cc
index 347a96d..b7738e6 100644
--- a/src/tint/lang/wgsl/ast/diagnostic_control_test.cc
+++ b/src/tint/lang/wgsl/ast/diagnostic_control_test.cc
@@ -15,9 +15,9 @@
#include <string>
#include "gtest/gtest-spi.h"
-#include "src/tint/lang/core/diagnostic_severity.h"
#include "src/tint/lang/wgsl/ast/diagnostic_control.h"
#include "src/tint/lang/wgsl/ast/helper_test.h"
+#include "src/tint/lang/wgsl/diagnostic_severity.h"
namespace tint::ast {
namespace {
@@ -28,7 +28,7 @@
EXPECT_FATAL_FAILURE(
{
ProgramBuilder b;
- DiagnosticControl control(core::DiagnosticSeverity::kWarning, nullptr);
+ DiagnosticControl control(wgsl::DiagnosticSeverity::kWarning, nullptr);
},
"internal compiler error");
}
diff --git a/src/tint/lang/wgsl/ast/diagnostic_directive_test.cc b/src/tint/lang/wgsl/ast/diagnostic_directive_test.cc
index ceefeed..479bade 100644
--- a/src/tint/lang/wgsl/ast/diagnostic_directive_test.cc
+++ b/src/tint/lang/wgsl/ast/diagnostic_directive_test.cc
@@ -23,24 +23,24 @@
TEST_F(DiagnosticDirectiveTest, Name) {
auto* d =
- DiagnosticDirective(Source{{{10, 5}, {10, 15}}}, core::DiagnosticSeverity::kWarning, "foo");
+ DiagnosticDirective(Source{{{10, 5}, {10, 15}}}, wgsl::DiagnosticSeverity::kWarning, "foo");
EXPECT_EQ(d->source.range.begin.line, 10u);
EXPECT_EQ(d->source.range.begin.column, 5u);
EXPECT_EQ(d->source.range.end.line, 10u);
EXPECT_EQ(d->source.range.end.column, 15u);
- EXPECT_EQ(d->control.severity, core::DiagnosticSeverity::kWarning);
+ EXPECT_EQ(d->control.severity, wgsl::DiagnosticSeverity::kWarning);
EXPECT_EQ(d->control.rule_name->category, nullptr);
CheckIdentifier(d->control.rule_name->name, "foo");
}
TEST_F(DiagnosticDirectiveTest, CategoryAndName) {
- auto* d = DiagnosticDirective(Source{{{10, 5}, {10, 15}}}, core::DiagnosticSeverity::kWarning,
+ auto* d = DiagnosticDirective(Source{{{10, 5}, {10, 15}}}, wgsl::DiagnosticSeverity::kWarning,
"foo", "bar");
EXPECT_EQ(d->source.range.begin.line, 10u);
EXPECT_EQ(d->source.range.begin.column, 5u);
EXPECT_EQ(d->source.range.end.line, 10u);
EXPECT_EQ(d->source.range.end.column, 15u);
- EXPECT_EQ(d->control.severity, core::DiagnosticSeverity::kWarning);
+ EXPECT_EQ(d->control.severity, wgsl::DiagnosticSeverity::kWarning);
CheckIdentifier(d->control.rule_name->category, "foo");
CheckIdentifier(d->control.rule_name->name, "bar");
}
diff --git a/src/tint/lang/wgsl/ast/enable.cc b/src/tint/lang/wgsl/ast/enable.cc
index d63aaa5..688e750 100644
--- a/src/tint/lang/wgsl/ast/enable.cc
+++ b/src/tint/lang/wgsl/ast/enable.cc
@@ -26,7 +26,7 @@
Enable::~Enable() = default;
-bool Enable::HasExtension(core::Extension ext) const {
+bool Enable::HasExtension(wgsl::Extension ext) const {
for (auto* e : extensions) {
if (e->name == ext) {
return true;
diff --git a/src/tint/lang/wgsl/ast/enable.h b/src/tint/lang/wgsl/ast/enable.h
index 35afa5b..dc1cc0c 100644
--- a/src/tint/lang/wgsl/ast/enable.h
+++ b/src/tint/lang/wgsl/ast/enable.h
@@ -42,7 +42,7 @@
/// @param ext the extension to search for
/// @returns true if this Enable lists the given extension
- bool HasExtension(core::Extension ext) const;
+ bool HasExtension(wgsl::Extension ext) const;
/// Clones this node and all transitive child nodes using the `CloneContext` `ctx`.
/// @param ctx the clone context
diff --git a/src/tint/lang/wgsl/ast/enable_test.cc b/src/tint/lang/wgsl/ast/enable_test.cc
index 667cc05..5f52c20 100644
--- a/src/tint/lang/wgsl/ast/enable_test.cc
+++ b/src/tint/lang/wgsl/ast/enable_test.cc
@@ -22,19 +22,19 @@
using EnableTest = TestHelper;
TEST_F(EnableTest, Creation) {
- auto* ext = Enable(Source{{{20, 2}, {20, 5}}}, core::Extension::kF16);
+ auto* ext = Enable(Source{{{20, 2}, {20, 5}}}, wgsl::Extension::kF16);
EXPECT_EQ(ext->source.range.begin.line, 20u);
EXPECT_EQ(ext->source.range.begin.column, 2u);
EXPECT_EQ(ext->source.range.end.line, 20u);
EXPECT_EQ(ext->source.range.end.column, 5u);
ASSERT_EQ(ext->extensions.Length(), 1u);
- EXPECT_EQ(ext->extensions[0]->name, core::Extension::kF16);
+ EXPECT_EQ(ext->extensions[0]->name, wgsl::Extension::kF16);
}
TEST_F(EnableTest, HasExtension) {
- auto* ext = Enable(Source{{{20, 2}, {20, 5}}}, core::Extension::kF16);
- EXPECT_TRUE(ext->HasExtension(core::Extension::kF16));
- EXPECT_FALSE(ext->HasExtension(core::Extension::kChromiumDisableUniformityAnalysis));
+ auto* ext = Enable(Source{{{20, 2}, {20, 5}}}, wgsl::Extension::kF16);
+ EXPECT_TRUE(ext->HasExtension(wgsl::Extension::kF16));
+ EXPECT_FALSE(ext->HasExtension(wgsl::Extension::kChromiumDisableUniformityAnalysis));
}
} // namespace
diff --git a/src/tint/lang/wgsl/ast/extension.cc b/src/tint/lang/wgsl/ast/extension.cc
index 3413c9f..07251fb 100644
--- a/src/tint/lang/wgsl/ast/extension.cc
+++ b/src/tint/lang/wgsl/ast/extension.cc
@@ -18,13 +18,13 @@
#include "src/tint/lang/wgsl/ast/clone_context.h"
//! @cond Doxygen_Suppress
-// Doxygen gets confused with tint::ast::Extension and tint::core::Extension
+// Doxygen gets confused with tint::ast::Extension and tint::wgsl::Extension
TINT_INSTANTIATE_TYPEINFO(tint::ast::Extension);
namespace tint::ast {
-Extension::Extension(GenerationID pid, NodeID nid, const Source& src, core::Extension ext)
+Extension::Extension(GenerationID pid, NodeID nid, const Source& src, wgsl::Extension ext)
: Base(pid, nid, src), name(ext) {}
Extension::~Extension() = default;
diff --git a/src/tint/lang/wgsl/ast/extension.h b/src/tint/lang/wgsl/ast/extension.h
index 85e14bc..fa4566b 100644
--- a/src/tint/lang/wgsl/ast/extension.h
+++ b/src/tint/lang/wgsl/ast/extension.h
@@ -15,8 +15,8 @@
#ifndef SRC_TINT_LANG_WGSL_AST_EXTENSION_H_
#define SRC_TINT_LANG_WGSL_AST_EXTENSION_H_
-#include "src/tint/lang/core/extension.h"
#include "src/tint/lang/wgsl/ast/node.h"
+#include "src/tint/lang/wgsl/extension.h"
namespace tint::ast {
@@ -31,7 +31,7 @@
/// @param nid the unique node identifier
/// @param src the source of this node
/// @param ext the extension
- Extension(GenerationID pid, NodeID nid, const Source& src, core::Extension ext);
+ Extension(GenerationID pid, NodeID nid, const Source& src, wgsl::Extension ext);
/// Destructor
~Extension() override;
@@ -43,7 +43,7 @@
const Extension* Clone(CloneContext& ctx) const override;
/// The extension name
- const core::Extension name;
+ const wgsl::Extension name;
};
} // namespace tint::ast
diff --git a/src/tint/lang/wgsl/ast/for_loop_statement_test.cc b/src/tint/lang/wgsl/ast/for_loop_statement_test.cc
index b1ae242..33841ac 100644
--- a/src/tint/lang/wgsl/ast/for_loop_statement_test.cc
+++ b/src/tint/lang/wgsl/ast/for_loop_statement_test.cc
@@ -52,8 +52,8 @@
}
TEST_F(ForLoopStatementTest, Creation_WithAttributes) {
- auto* attr1 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "foo");
- auto* attr2 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "bar");
+ auto* attr1 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "foo");
+ auto* attr2 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "bar");
auto* body = Block(Return());
auto* l = For(nullptr, nullptr, nullptr, body, tint::Vector{attr1, attr2});
diff --git a/src/tint/lang/wgsl/ast/if_statement_test.cc b/src/tint/lang/wgsl/ast/if_statement_test.cc
index e2bd7b8..827decc 100644
--- a/src/tint/lang/wgsl/ast/if_statement_test.cc
+++ b/src/tint/lang/wgsl/ast/if_statement_test.cc
@@ -33,8 +33,8 @@
}
TEST_F(IfStatementTest, Creation_WithAttributes) {
- auto* attr1 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "foo");
- auto* attr2 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "bar");
+ auto* attr1 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "foo");
+ auto* attr2 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "bar");
auto* cond = Expr("cond");
auto* stmt = If(cond, Block(), ElseStmt(), tint::Vector{attr1, attr2});
diff --git a/src/tint/lang/wgsl/ast/loop_statement_test.cc b/src/tint/lang/wgsl/ast/loop_statement_test.cc
index 5d75e68..bcab559 100644
--- a/src/tint/lang/wgsl/ast/loop_statement_test.cc
+++ b/src/tint/lang/wgsl/ast/loop_statement_test.cc
@@ -50,8 +50,8 @@
}
TEST_F(LoopStatementTest, Creation_WithAttributes) {
- auto* attr1 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "foo");
- auto* attr2 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "bar");
+ auto* attr1 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "foo");
+ auto* attr2 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "bar");
auto* body = Block(Return());
auto* l = create<LoopStatement>(body, nullptr, tint::Vector{attr1, attr2});
diff --git a/src/tint/lang/wgsl/ast/module_test.cc b/src/tint/lang/wgsl/ast/module_test.cc
index 37da59f..56ce163 100644
--- a/src/tint/lang/wgsl/ast/module_test.cc
+++ b/src/tint/lang/wgsl/ast/module_test.cc
@@ -132,10 +132,10 @@
}
TEST_F(ModuleTest, Directives) {
- auto* enable_1 = Enable(core::Extension::kF16);
- auto* diagnostic_1 = DiagnosticDirective(core::DiagnosticSeverity::kWarning, "foo");
- auto* enable_2 = Enable(core::Extension::kChromiumExperimentalFullPtrParameters);
- auto* diagnostic_2 = DiagnosticDirective(core::DiagnosticSeverity::kOff, "bar");
+ auto* enable_1 = Enable(wgsl::Extension::kF16);
+ auto* diagnostic_1 = DiagnosticDirective(wgsl::DiagnosticSeverity::kWarning, "foo");
+ auto* enable_2 = Enable(wgsl::Extension::kChromiumExperimentalFullPtrParameters);
+ auto* diagnostic_2 = DiagnosticDirective(wgsl::DiagnosticSeverity::kOff, "bar");
Program program(std::move(*this));
EXPECT_THAT(program.AST().GlobalDeclarations(), ::testing::ContainerEq(tint::Vector{
diff --git a/src/tint/lang/wgsl/ast/switch_statement_test.cc b/src/tint/lang/wgsl/ast/switch_statement_test.cc
index c1a4d01..242cb1b 100644
--- a/src/tint/lang/wgsl/ast/switch_statement_test.cc
+++ b/src/tint/lang/wgsl/ast/switch_statement_test.cc
@@ -46,8 +46,8 @@
}
TEST_F(SwitchStatementTest, Creation_WithAttributes) {
- auto* attr1 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "foo");
- auto* attr2 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "bar");
+ auto* attr1 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "foo");
+ auto* attr2 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "bar");
auto* ident = Expr("ident");
auto* stmt =
create<SwitchStatement>(ident, tint::Empty, tint::Vector{attr1, attr2}, tint::Empty);
@@ -56,8 +56,8 @@
}
TEST_F(SwitchStatementTest, Creation_WithBodyAttributes) {
- auto* attr1 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "foo");
- auto* attr2 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "bar");
+ auto* attr1 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "foo");
+ auto* attr2 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "bar");
auto* ident = Expr("ident");
auto* stmt =
create<SwitchStatement>(ident, tint::Empty, tint::Empty, tint::Vector{attr1, attr2});
diff --git a/src/tint/lang/wgsl/ast/transform/BUILD.bazel b/src/tint/lang/wgsl/ast/transform/BUILD.bazel
index d035628..6b75460 100644
--- a/src/tint/lang/wgsl/ast/transform/BUILD.bazel
+++ b/src/tint/lang/wgsl/ast/transform/BUILD.bazel
@@ -99,6 +99,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/resolver",
@@ -166,6 +167,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/ast:test",
diff --git a/src/tint/lang/wgsl/ast/transform/BUILD.cmake b/src/tint/lang/wgsl/ast/transform/BUILD.cmake
index c5ed810..a9dd202 100644
--- a/src/tint/lang/wgsl/ast/transform/BUILD.cmake
+++ b/src/tint/lang/wgsl/ast/transform/BUILD.cmake
@@ -98,6 +98,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_resolver
@@ -165,6 +166,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_ast_test
diff --git a/src/tint/lang/wgsl/ast/transform/BUILD.gn b/src/tint/lang/wgsl/ast/transform/BUILD.gn
index 3c49f99..22706b8 100644
--- a/src/tint/lang/wgsl/ast/transform/BUILD.gn
+++ b/src/tint/lang/wgsl/ast/transform/BUILD.gn
@@ -102,6 +102,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/resolver",
@@ -168,6 +169,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/ast/transform",
diff --git a/src/tint/lang/wgsl/ast/transform/builtin_polyfill.cc b/src/tint/lang/wgsl/ast/transform/builtin_polyfill.cc
index 876f7fb..dc4ba14 100644
--- a/src/tint/lang/wgsl/ast/transform/builtin_polyfill.cc
+++ b/src/tint/lang/wgsl/ast/transform/builtin_polyfill.cc
@@ -51,7 +51,7 @@
State(const Program* program, const Config& config) : src(program), cfg(config) {
has_full_ptr_params = false;
for (auto* enable : src->AST().Enables()) {
- if (enable->HasExtension(core::Extension::kChromiumExperimentalFullPtrParameters)) {
+ if (enable->HasExtension(wgsl::Extension::kChromiumExperimentalFullPtrParameters)) {
has_full_ptr_params = true;
break;
}
@@ -811,7 +811,7 @@
/// @return the polyfill function name
Symbol workgroupUniformLoad(const core::type::Type* type) {
if (!has_full_ptr_params) {
- b.Enable(core::Extension::kChromiumExperimentalFullPtrParameters);
+ b.Enable(wgsl::Extension::kChromiumExperimentalFullPtrParameters);
has_full_ptr_params = true;
}
auto name = b.Symbols().New("tint_workgroupUniformLoad");
diff --git a/src/tint/lang/wgsl/ast/transform/direct_variable_access.cc b/src/tint/lang/wgsl/ast/transform/direct_variable_access.cc
index 30dbbb7..28db994 100644
--- a/src/tint/lang/wgsl/ast/transform/direct_variable_access.cc
+++ b/src/tint/lang/wgsl/ast/transform/direct_variable_access.cc
@@ -208,7 +208,7 @@
/// @returns the ApplyResult
ApplyResult Run() {
if (!ctx.src->Sem().Module()->Extensions().Contains(
- core::Extension::kChromiumExperimentalFullPtrParameters)) {
+ wgsl::Extension::kChromiumExperimentalFullPtrParameters)) {
// If the 'chromium_experimental_full_ptr_parameters' extension is not enabled, then
// there's nothing for this transform to do.
return SkipTransform;
diff --git a/src/tint/lang/wgsl/ast/transform/disable_uniformity_analysis.cc b/src/tint/lang/wgsl/ast/transform/disable_uniformity_analysis.cc
index 3c23390..34d212b 100644
--- a/src/tint/lang/wgsl/ast/transform/disable_uniformity_analysis.cc
+++ b/src/tint/lang/wgsl/ast/transform/disable_uniformity_analysis.cc
@@ -33,13 +33,13 @@
const DataMap&,
DataMap&) const {
if (src->Sem().Module()->Extensions().Contains(
- core::Extension::kChromiumDisableUniformityAnalysis)) {
+ wgsl::Extension::kChromiumDisableUniformityAnalysis)) {
return SkipTransform;
}
ProgramBuilder b;
program::CloneContext ctx{&b, src, /* auto_clone_symbols */ true};
- b.Enable(core::Extension::kChromiumDisableUniformityAnalysis);
+ b.Enable(wgsl::Extension::kChromiumDisableUniformityAnalysis);
ctx.Clone();
return resolver::Resolve(b);
diff --git a/src/tint/lang/wgsl/ast/transform/preserve_padding.cc b/src/tint/lang/wgsl/ast/transform/preserve_padding.cc
index 3ef5d69..25cba78 100644
--- a/src/tint/lang/wgsl/ast/transform/preserve_padding.cc
+++ b/src/tint/lang/wgsl/ast/transform/preserve_padding.cc
@@ -71,7 +71,7 @@
[&](const Enable* enable) {
// Check if the full pointer parameters extension is already enabled.
if (enable->HasExtension(
- core::Extension::kChromiumExperimentalFullPtrParameters)) {
+ wgsl::Extension::kChromiumExperimentalFullPtrParameters)) {
ext_enabled = true;
}
});
@@ -220,7 +220,7 @@
/// Enable the full pointer parameters extension, if we have not already done so.
void EnableExtension() {
if (!ext_enabled) {
- b.Enable(core::Extension::kChromiumExperimentalFullPtrParameters);
+ b.Enable(wgsl::Extension::kChromiumExperimentalFullPtrParameters);
ext_enabled = true;
}
}
diff --git a/src/tint/lang/wgsl/ast/while_statement_test.cc b/src/tint/lang/wgsl/ast/while_statement_test.cc
index 43c2093..d87ddf0 100644
--- a/src/tint/lang/wgsl/ast/while_statement_test.cc
+++ b/src/tint/lang/wgsl/ast/while_statement_test.cc
@@ -43,8 +43,8 @@
}
TEST_F(WhileStatementTest, Creation_WithAttributes) {
- auto* attr1 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "foo");
- auto* attr2 = DiagnosticAttribute(core::DiagnosticSeverity::kOff, "bar");
+ auto* attr1 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "foo");
+ auto* attr2 = DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "bar");
auto* cond = create<BinaryExpression>(core::BinaryOp::kLessThan, Expr("i"), Expr(5_u));
auto* body = Block(Return());
auto* l = While(cond, body, tint::Vector{attr1, attr2});
diff --git a/src/tint/lang/core/diagnostic_rule.cc b/src/tint/lang/wgsl/diagnostic_rule.cc
similarity index 94%
rename from src/tint/lang/core/diagnostic_rule.cc
rename to src/tint/lang/wgsl/diagnostic_rule.cc
index b226240..624b2c1 100644
--- a/src/tint/lang/core/diagnostic_rule.cc
+++ b/src/tint/lang/wgsl/diagnostic_rule.cc
@@ -14,20 +14,20 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/diagnostic_rule.cc.tmpl
+// src/tint/lang/wgsl/diagnostic_rule.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
-#include "src/tint/lang/core/diagnostic_rule.h"
+#include "src/tint/lang/wgsl/diagnostic_rule.h"
#include <string>
#include "src/tint/utils/traits/traits.h"
-namespace tint::core {
+namespace tint::wgsl {
/// ParseCoreDiagnosticRule parses a CoreDiagnosticRule from a string.
/// @param str the string to parse
@@ -70,4 +70,4 @@
return "<unknown>";
}
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/diagnostic_rule.cc.tmpl b/src/tint/lang/wgsl/diagnostic_rule.cc.tmpl
similarity index 82%
rename from src/tint/lang/core/diagnostic_rule.cc.tmpl
rename to src/tint/lang/wgsl/diagnostic_rule.cc.tmpl
index fdde9ab..9162120 100644
--- a/src/tint/lang/core/diagnostic_rule.cc.tmpl
+++ b/src/tint/lang/wgsl/diagnostic_rule.cc.tmpl
@@ -8,16 +8,16 @@
--------------------------------------------------------------------------------
*/ -}}
-{{- $I := LoadIntrinsics "src/tint/lang/core/core.def" -}}
+{{- $I := LoadIntrinsics "src/tint/lang/wgsl/wgsl.def" -}}
{{- Import "src/tint/utils/templates/enums.tmpl.inc" -}}
-#include "src/tint/lang/core/diagnostic_rule.h"
+#include "src/tint/lang/wgsl/diagnostic_rule.h"
#include <string>
#include "src/tint/utils/traits/traits.h"
-namespace tint::core {
+namespace tint::wgsl {
{{ Eval "ParseEnum" ($I.Sem.Enum "core_diagnostic_rule")}}
@@ -27,4 +27,4 @@
{{ Eval "EnumOStream" ($I.Sem.Enum "chromium_diagnostic_rule")}}
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/diagnostic_rule.h b/src/tint/lang/wgsl/diagnostic_rule.h
similarity index 92%
rename from src/tint/lang/core/diagnostic_rule.h
rename to src/tint/lang/wgsl/diagnostic_rule.h
index 0bc5f72..e0a71fe 100644
--- a/src/tint/lang/core/diagnostic_rule.h
+++ b/src/tint/lang/wgsl/diagnostic_rule.h
@@ -14,15 +14,15 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/diagnostic_rule.h.tmpl
+// src/tint/lang/wgsl/diagnostic_rule.h.tmpl
//
// To regenerate run: './tools/run gen'
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
-#ifndef SRC_TINT_LANG_CORE_DIAGNOSTIC_RULE_H_
-#define SRC_TINT_LANG_CORE_DIAGNOSTIC_RULE_H_
+#ifndef SRC_TINT_LANG_WGSL_DIAGNOSTIC_RULE_H_
+#define SRC_TINT_LANG_WGSL_DIAGNOSTIC_RULE_H_
#include <cstdint>
#include <string>
@@ -30,7 +30,7 @@
#include "src/tint/utils/traits/traits.h"
-namespace tint::core {
+namespace tint::wgsl {
/// WGSL core diagnostic rules.
enum class CoreDiagnosticRule : uint8_t {
@@ -90,6 +90,6 @@
/// All diagnostic rules understood by Tint.
using DiagnosticRule = std::variant<CoreDiagnosticRule, ChromiumDiagnosticRule>;
-} // namespace tint::core
+} // namespace tint::wgsl
-#endif // SRC_TINT_LANG_CORE_DIAGNOSTIC_RULE_H_
+#endif // SRC_TINT_LANG_WGSL_DIAGNOSTIC_RULE_H_
diff --git a/src/tint/lang/core/diagnostic_rule.h.tmpl b/src/tint/lang/wgsl/diagnostic_rule.h.tmpl
similarity index 77%
rename from src/tint/lang/core/diagnostic_rule.h.tmpl
rename to src/tint/lang/wgsl/diagnostic_rule.h.tmpl
index 8bf1f0d..9948d1c 100644
--- a/src/tint/lang/core/diagnostic_rule.h.tmpl
+++ b/src/tint/lang/wgsl/diagnostic_rule.h.tmpl
@@ -8,11 +8,11 @@
--------------------------------------------------------------------------------
*/ -}}
-{{- $I := LoadIntrinsics "src/tint/lang/core/core.def" -}}
+{{- $I := LoadIntrinsics "src/tint/lang/wgsl/wgsl.def" -}}
{{- Import "src/tint/utils/templates/enums.tmpl.inc" -}}
-#ifndef SRC_TINT_LANG_CORE_DIAGNOSTIC_RULE_H_
-#define SRC_TINT_LANG_CORE_DIAGNOSTIC_RULE_H_
+#ifndef SRC_TINT_LANG_WGSL_DIAGNOSTIC_RULE_H_
+#define SRC_TINT_LANG_WGSL_DIAGNOSTIC_RULE_H_
#include <cstdint>
#include <string>
@@ -20,7 +20,7 @@
#include "src/tint/utils/traits/traits.h"
-namespace tint::core {
+namespace tint::wgsl {
/// WGSL core diagnostic rules.
{{ Eval "DeclareEnum" ($I.Sem.Enum "core_diagnostic_rule") }}
@@ -31,6 +31,6 @@
/// All diagnostic rules understood by Tint.
using DiagnosticRule = std::variant<CoreDiagnosticRule, ChromiumDiagnosticRule>;
-} // namespace tint::core
+} // namespace tint::wgsl
-#endif // SRC_TINT_LANG_CORE_DIAGNOSTIC_RULE_H_
+#endif // SRC_TINT_LANG_WGSL_DIAGNOSTIC_RULE_H_
diff --git a/src/tint/lang/core/diagnostic_rule_bench.cc b/src/tint/lang/wgsl/diagnostic_rule_bench.cc
similarity index 92%
rename from src/tint/lang/core/diagnostic_rule_bench.cc
rename to src/tint/lang/wgsl/diagnostic_rule_bench.cc
index 4393c23..178f213 100644
--- a/src/tint/lang/core/diagnostic_rule_bench.cc
+++ b/src/tint/lang/wgsl/diagnostic_rule_bench.cc
@@ -14,20 +14,20 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/diagnostic_rule_bench.cc.tmpl
+// src/tint/lang/wgsl/diagnostic_rule_bench.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
-#include "src/tint/lang/core/diagnostic_rule.h"
+#include "src/tint/lang/wgsl/diagnostic_rule.h"
#include <array>
#include "benchmark/benchmark.h"
-namespace tint::core {
+namespace tint::wgsl {
namespace {
void CoreDiagnosticRuleParser(::benchmark::State& state) {
@@ -62,4 +62,4 @@
BENCHMARK(ChromiumDiagnosticRuleParser);
} // namespace
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/diagnostic_rule_bench.cc.tmpl b/src/tint/lang/wgsl/diagnostic_rule_bench.cc.tmpl
similarity index 81%
rename from src/tint/lang/core/diagnostic_rule_bench.cc.tmpl
rename to src/tint/lang/wgsl/diagnostic_rule_bench.cc.tmpl
index 4813af5..cf1b20f 100644
--- a/src/tint/lang/core/diagnostic_rule_bench.cc.tmpl
+++ b/src/tint/lang/wgsl/diagnostic_rule_bench.cc.tmpl
@@ -8,16 +8,16 @@
--------------------------------------------------------------------------------
*/ -}}
-{{- $I := LoadIntrinsics "src/tint/lang/core/core.def" -}}
+{{- $I := LoadIntrinsics "src/tint/lang/wgsl/wgsl.def" -}}
{{- Import "src/tint/utils/templates/enums.tmpl.inc" -}}
-#include "src/tint/lang/core/diagnostic_rule.h"
+#include "src/tint/lang/wgsl/diagnostic_rule.h"
#include <array>
#include "benchmark/benchmark.h"
-namespace tint::core {
+namespace tint::wgsl {
namespace {
{{ Eval "BenchmarkParseEnum" ($I.Sem.Enum "core_diagnostic_rule")}}
@@ -25,4 +25,4 @@
{{ Eval "BenchmarkParseEnum" ($I.Sem.Enum "chromium_diagnostic_rule")}}
} // namespace
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/diagnostic_rule_test.cc b/src/tint/lang/wgsl/diagnostic_rule_test.cc
similarity index 96%
rename from src/tint/lang/core/diagnostic_rule_test.cc
rename to src/tint/lang/wgsl/diagnostic_rule_test.cc
index c20079c..5c5a393 100644
--- a/src/tint/lang/core/diagnostic_rule_test.cc
+++ b/src/tint/lang/wgsl/diagnostic_rule_test.cc
@@ -14,7 +14,7 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/diagnostic_rule_test.cc.tmpl
+// src/tint/lang/wgsl/diagnostic_rule_test.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
@@ -24,10 +24,10 @@
#include <string>
#include "gtest/gtest-spi.h"
-#include "src/tint/lang/core/diagnostic_rule.h"
+#include "src/tint/lang/wgsl/diagnostic_rule.h"
#include "src/tint/utils/text/string.h"
-namespace tint::core {
+namespace tint::wgsl {
namespace {
namespace core_diagnostic_rule_tests {
@@ -135,4 +135,4 @@
} // namespace chromium_diagnostic_rule_tests
} // namespace
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/diagnostic_rule_test.cc.tmpl b/src/tint/lang/wgsl/diagnostic_rule_test.cc.tmpl
similarity index 84%
rename from src/tint/lang/core/diagnostic_rule_test.cc.tmpl
rename to src/tint/lang/wgsl/diagnostic_rule_test.cc.tmpl
index 40da435..d34cd75 100644
--- a/src/tint/lang/core/diagnostic_rule_test.cc.tmpl
+++ b/src/tint/lang/wgsl/diagnostic_rule_test.cc.tmpl
@@ -8,16 +8,16 @@
--------------------------------------------------------------------------------
*/ -}}
-{{- $I := LoadIntrinsics "src/tint/lang/core/core.def" -}}
+{{- $I := LoadIntrinsics "src/tint/lang/wgsl/wgsl.def" -}}
{{- Import "src/tint/utils/templates/enums.tmpl.inc" -}}
#include <string>
#include "gtest/gtest-spi.h"
-#include "src/tint/lang/core/diagnostic_rule.h"
+#include "src/tint/lang/wgsl/diagnostic_rule.h"
#include "src/tint/utils/text/string.h"
-namespace tint::core {
+namespace tint::wgsl {
namespace {
namespace core_diagnostic_rule_tests {
@@ -33,4 +33,4 @@
} // namespace chromium_diagnostic_rule_tests
} // namespace
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/diagnostic_severity.cc b/src/tint/lang/wgsl/diagnostic_severity.cc
similarity index 93%
rename from src/tint/lang/core/diagnostic_severity.cc
rename to src/tint/lang/wgsl/diagnostic_severity.cc
index 3cde694..ffb5480 100644
--- a/src/tint/lang/core/diagnostic_severity.cc
+++ b/src/tint/lang/wgsl/diagnostic_severity.cc
@@ -14,18 +14,18 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/diagnostic_severity.cc.tmpl
+// src/tint/lang/wgsl/diagnostic_severity.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
-#include "src/tint/lang/core/diagnostic_severity.h"
+#include "src/tint/lang/wgsl/diagnostic_severity.h"
#include <string>
-namespace tint::core {
+namespace tint::wgsl {
diag::Severity ToSeverity(DiagnosticSeverity sc) {
switch (sc) {
@@ -75,4 +75,4 @@
return "<unknown>";
}
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/diagnostic_severity.cc.tmpl b/src/tint/lang/wgsl/diagnostic_severity.cc.tmpl
similarity index 85%
rename from src/tint/lang/core/diagnostic_severity.cc.tmpl
rename to src/tint/lang/wgsl/diagnostic_severity.cc.tmpl
index f14922a..fdc3a8d 100644
--- a/src/tint/lang/core/diagnostic_severity.cc.tmpl
+++ b/src/tint/lang/wgsl/diagnostic_severity.cc.tmpl
@@ -8,14 +8,14 @@
--------------------------------------------------------------------------------
*/ -}}
-{{- $I := LoadIntrinsics "src/tint/lang/core/core.def" -}}
+{{- $I := LoadIntrinsics "src/tint/lang/wgsl/wgsl.def" -}}
{{- Import "src/tint/utils/templates/enums.tmpl.inc" -}}
-#include "src/tint/lang/core/diagnostic_severity.h"
+#include "src/tint/lang/wgsl/diagnostic_severity.h"
#include <string>
-namespace tint::core {
+namespace tint::wgsl {
diag::Severity ToSeverity(DiagnosticSeverity sc) {
switch (sc) {
@@ -34,4 +34,4 @@
{{ Eval "EnumOStream" ($I.Sem.Enum "diagnostic_severity")}}
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/diagnostic_severity.h b/src/tint/lang/wgsl/diagnostic_severity.h
similarity index 88%
rename from src/tint/lang/core/diagnostic_severity.h
rename to src/tint/lang/wgsl/diagnostic_severity.h
index 9a7bd91..a09d2ab 100644
--- a/src/tint/lang/core/diagnostic_severity.h
+++ b/src/tint/lang/wgsl/diagnostic_severity.h
@@ -14,24 +14,24 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/diagnostic_severity.h.tmpl
+// src/tint/lang/wgsl/diagnostic_severity.h.tmpl
//
// To regenerate run: './tools/run gen'
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
-#ifndef SRC_TINT_LANG_CORE_DIAGNOSTIC_SEVERITY_H_
-#define SRC_TINT_LANG_CORE_DIAGNOSTIC_SEVERITY_H_
+#ifndef SRC_TINT_LANG_WGSL_DIAGNOSTIC_SEVERITY_H_
+#define SRC_TINT_LANG_WGSL_DIAGNOSTIC_SEVERITY_H_
#include <string>
#include <unordered_map>
-#include "src/tint/lang/core/diagnostic_rule.h"
+#include "src/tint/lang/wgsl/diagnostic_rule.h"
#include "src/tint/utils/diagnostic/diagnostic.h"
#include "src/tint/utils/traits/traits.h"
-namespace tint::core {
+namespace tint::wgsl {
/// The diagnostic severity control.
enum class DiagnosticSeverity : uint8_t {
@@ -72,6 +72,6 @@
/// DiagnosticRuleSeverities is a map from diagnostic rule to diagnostic severity.
using DiagnosticRuleSeverities = std::unordered_map<DiagnosticRule, DiagnosticSeverity>;
-} // namespace tint::core
+} // namespace tint::wgsl
-#endif // SRC_TINT_LANG_CORE_DIAGNOSTIC_SEVERITY_H_
+#endif // SRC_TINT_LANG_WGSL_DIAGNOSTIC_SEVERITY_H_
diff --git a/src/tint/lang/core/diagnostic_severity.h.tmpl b/src/tint/lang/wgsl/diagnostic_severity.h.tmpl
similarity index 76%
rename from src/tint/lang/core/diagnostic_severity.h.tmpl
rename to src/tint/lang/wgsl/diagnostic_severity.h.tmpl
index fbabfaf..045591f 100644
--- a/src/tint/lang/core/diagnostic_severity.h.tmpl
+++ b/src/tint/lang/wgsl/diagnostic_severity.h.tmpl
@@ -8,20 +8,20 @@
--------------------------------------------------------------------------------
*/ -}}
-{{- $I := LoadIntrinsics "src/tint/lang/core/core.def" -}}
+{{- $I := LoadIntrinsics "src/tint/lang/wgsl/wgsl.def" -}}
{{- Import "src/tint/utils/templates/enums.tmpl.inc" -}}
-#ifndef SRC_TINT_LANG_CORE_DIAGNOSTIC_SEVERITY_H_
-#define SRC_TINT_LANG_CORE_DIAGNOSTIC_SEVERITY_H_
+#ifndef SRC_TINT_LANG_WGSL_DIAGNOSTIC_SEVERITY_H_
+#define SRC_TINT_LANG_WGSL_DIAGNOSTIC_SEVERITY_H_
#include <string>
#include <unordered_map>
#include "src/tint/utils/traits/traits.h"
-#include "src/tint/lang/core/diagnostic_rule.h"
+#include "src/tint/lang/wgsl/diagnostic_rule.h"
#include "src/tint/utils/diagnostic/diagnostic.h"
-namespace tint::core {
+namespace tint::wgsl {
/// The diagnostic severity control.
{{ Eval "DeclareEnum" ($I.Sem.Enum "diagnostic_severity") }}
@@ -32,6 +32,6 @@
/// DiagnosticRuleSeverities is a map from diagnostic rule to diagnostic severity.
using DiagnosticRuleSeverities = std::unordered_map<DiagnosticRule, DiagnosticSeverity>;
-} // namespace tint::core
+} // namespace tint::wgsl
-#endif // SRC_TINT_LANG_CORE_DIAGNOSTIC_SEVERITY_H_
+#endif // SRC_TINT_LANG_WGSL_DIAGNOSTIC_SEVERITY_H_
diff --git a/src/tint/lang/core/diagnostic_severity_bench.cc b/src/tint/lang/wgsl/diagnostic_severity_bench.cc
similarity index 91%
rename from src/tint/lang/core/diagnostic_severity_bench.cc
rename to src/tint/lang/wgsl/diagnostic_severity_bench.cc
index 50a4f11..52e5736 100644
--- a/src/tint/lang/core/diagnostic_severity_bench.cc
+++ b/src/tint/lang/wgsl/diagnostic_severity_bench.cc
@@ -14,20 +14,20 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/diagnostic_severity_bench.cc.tmpl
+// src/tint/lang/wgsl/diagnostic_severity_bench.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
-#include "src/tint/lang/core/diagnostic_severity.h"
+#include "src/tint/lang/wgsl/diagnostic_severity.h"
#include <array>
#include "benchmark/benchmark.h"
-namespace tint::core {
+namespace tint::wgsl {
namespace {
void DiagnosticSeverityParser(::benchmark::State& state) {
@@ -48,4 +48,4 @@
BENCHMARK(DiagnosticSeverityParser);
} // namespace
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/diagnostic_severity_bench.cc.tmpl b/src/tint/lang/wgsl/diagnostic_severity_bench.cc.tmpl
similarity index 79%
rename from src/tint/lang/core/diagnostic_severity_bench.cc.tmpl
rename to src/tint/lang/wgsl/diagnostic_severity_bench.cc.tmpl
index 9bbb401..a925938 100644
--- a/src/tint/lang/core/diagnostic_severity_bench.cc.tmpl
+++ b/src/tint/lang/wgsl/diagnostic_severity_bench.cc.tmpl
@@ -8,19 +8,19 @@
--------------------------------------------------------------------------------
*/ -}}
-{{- $I := LoadIntrinsics "src/tint/lang/core/core.def" -}}
+{{- $I := LoadIntrinsics "src/tint/lang/wgsl/wgsl.def" -}}
{{- Import "src/tint/utils/templates/enums.tmpl.inc" -}}
-#include "src/tint/lang/core/diagnostic_severity.h"
+#include "src/tint/lang/wgsl/diagnostic_severity.h"
#include <array>
#include "benchmark/benchmark.h"
-namespace tint::core {
+namespace tint::wgsl {
namespace {
{{ Eval "BenchmarkParseEnum" ($I.Sem.Enum "diagnostic_severity")}}
} // namespace
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/diagnostic_severity_test.cc b/src/tint/lang/wgsl/diagnostic_severity_test.cc
similarity index 94%
rename from src/tint/lang/core/diagnostic_severity_test.cc
rename to src/tint/lang/wgsl/diagnostic_severity_test.cc
index 78c1d75..960569f 100644
--- a/src/tint/lang/core/diagnostic_severity_test.cc
+++ b/src/tint/lang/wgsl/diagnostic_severity_test.cc
@@ -14,7 +14,7 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/diagnostic_severity_test.cc.tmpl
+// src/tint/lang/wgsl/diagnostic_severity_test.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
@@ -24,10 +24,10 @@
#include <string>
#include "gtest/gtest-spi.h"
-#include "src/tint/lang/core/diagnostic_severity.h"
+#include "src/tint/lang/wgsl/diagnostic_severity.h"
#include "src/tint/utils/text/string.h"
-namespace tint::core {
+namespace tint::wgsl {
namespace {
namespace diagnostic_severity_tests {
@@ -87,4 +87,4 @@
} // namespace diagnostic_severity_tests
} // namespace
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/diagnostic_severity_test.cc.tmpl b/src/tint/lang/wgsl/diagnostic_severity_test.cc.tmpl
similarity index 81%
rename from src/tint/lang/core/diagnostic_severity_test.cc.tmpl
rename to src/tint/lang/wgsl/diagnostic_severity_test.cc.tmpl
index e2db82e..48a7542 100644
--- a/src/tint/lang/core/diagnostic_severity_test.cc.tmpl
+++ b/src/tint/lang/wgsl/diagnostic_severity_test.cc.tmpl
@@ -8,16 +8,16 @@
--------------------------------------------------------------------------------
*/ -}}
-{{- $I := LoadIntrinsics "src/tint/lang/core/core.def" -}}
+{{- $I := LoadIntrinsics "src/tint/lang/wgsl/wgsl.def" -}}
{{- Import "src/tint/utils/templates/enums.tmpl.inc" -}}
#include <string>
#include "gtest/gtest-spi.h"
-#include "src/tint/lang/core/diagnostic_severity.h"
+#include "src/tint/lang/wgsl/diagnostic_severity.h"
#include "src/tint/utils/text/string.h"
-namespace tint::core {
+namespace tint::wgsl {
namespace {
namespace diagnostic_severity_tests {
@@ -27,4 +27,4 @@
} // namespace diagnostic_severity_tests
} // namespace
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/extension.cc b/src/tint/lang/wgsl/extension.cc
similarity index 96%
rename from src/tint/lang/core/extension.cc
rename to src/tint/lang/wgsl/extension.cc
index 102d612..96598a7 100644
--- a/src/tint/lang/core/extension.cc
+++ b/src/tint/lang/wgsl/extension.cc
@@ -14,16 +14,16 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/extension.cc.tmpl
+// src/tint/lang/wgsl/extension.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
-#include "src/tint/lang/core/extension.h"
+#include "src/tint/lang/wgsl/extension.h"
-namespace tint::core {
+namespace tint::wgsl {
/// ParseExtension parses a Extension from a string.
/// @param str the string to parse
@@ -90,4 +90,4 @@
return "<unknown>";
}
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/extension.cc.tmpl b/src/tint/lang/wgsl/extension.cc.tmpl
similarity index 78%
rename from src/tint/lang/core/extension.cc.tmpl
rename to src/tint/lang/wgsl/extension.cc.tmpl
index 37c9e1b..cbe975b 100644
--- a/src/tint/lang/core/extension.cc.tmpl
+++ b/src/tint/lang/wgsl/extension.cc.tmpl
@@ -8,16 +8,16 @@
--------------------------------------------------------------------------------
*/ -}}
-{{- $I := LoadIntrinsics "src/tint/lang/core/core.def" -}}
+{{- $I := LoadIntrinsics "src/tint/lang/wgsl/wgsl.def" -}}
{{- Import "src/tint/utils/templates/enums.tmpl.inc" -}}
{{- $enum := ($I.Sem.Enum "extension") -}}
-#include "src/tint/lang/core/extension.h"
+#include "src/tint/lang/wgsl/extension.h"
-namespace tint::core {
+namespace tint::wgsl {
{{ Eval "ParseEnum" $enum}}
{{ Eval "EnumOStream" $enum}}
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/extension.h b/src/tint/lang/wgsl/extension.h
similarity index 92%
rename from src/tint/lang/core/extension.h
rename to src/tint/lang/wgsl/extension.h
index 7672ee0..0f401c9 100644
--- a/src/tint/lang/core/extension.h
+++ b/src/tint/lang/wgsl/extension.h
@@ -14,20 +14,20 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/extension.h.tmpl
+// src/tint/lang/wgsl/extension.h.tmpl
//
// To regenerate run: './tools/run gen'
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
-#ifndef SRC_TINT_LANG_CORE_EXTENSION_H_
-#define SRC_TINT_LANG_CORE_EXTENSION_H_
+#ifndef SRC_TINT_LANG_WGSL_EXTENSION_H_
+#define SRC_TINT_LANG_WGSL_EXTENSION_H_
#include "src/tint/utils/containers/unique_vector.h"
#include "src/tint/utils/traits/traits.h"
-namespace tint::core {
+namespace tint::wgsl {
/// An enumerator of WGSL extensions
/// @see src/tint/lang/wgsl/intrinsics.def for extension descriptions
@@ -73,6 +73,6 @@
// A unique vector of extensions
using Extensions = UniqueVector<Extension, 4>;
-} // namespace tint::core
+} // namespace tint::wgsl
-#endif // SRC_TINT_LANG_CORE_EXTENSION_H_
+#endif // SRC_TINT_LANG_WGSL_EXTENSION_H_
diff --git a/src/tint/lang/core/extension.h.tmpl b/src/tint/lang/wgsl/extension.h.tmpl
similarity index 77%
rename from src/tint/lang/core/extension.h.tmpl
rename to src/tint/lang/wgsl/extension.h.tmpl
index 0637395..1c69ee1 100644
--- a/src/tint/lang/core/extension.h.tmpl
+++ b/src/tint/lang/wgsl/extension.h.tmpl
@@ -8,17 +8,17 @@
--------------------------------------------------------------------------------
*/ -}}
-{{- $I := LoadIntrinsics "src/tint/lang/core/core.def" -}}
+{{- $I := LoadIntrinsics "src/tint/lang/wgsl/wgsl.def" -}}
{{- Import "src/tint/utils/templates/enums.tmpl.inc" -}}
{{- $enum := ($I.Sem.Enum "extension") -}}
-#ifndef SRC_TINT_LANG_CORE_EXTENSION_H_
-#define SRC_TINT_LANG_CORE_EXTENSION_H_
+#ifndef SRC_TINT_LANG_WGSL_EXTENSION_H_
+#define SRC_TINT_LANG_WGSL_EXTENSION_H_
#include "src/tint/utils/traits/traits.h"
#include "src/tint/utils/containers/unique_vector.h"
-namespace tint::core {
+namespace tint::wgsl {
/// An enumerator of WGSL extensions
/// @see src/tint/lang/wgsl/intrinsics.def for extension descriptions
@@ -27,6 +27,6 @@
// A unique vector of extensions
using Extensions = UniqueVector<Extension, 4>;
-} // namespace tint::core
+} // namespace tint::wgsl
-#endif // SRC_TINT_LANG_CORE_EXTENSION_H_
+#endif // SRC_TINT_LANG_WGSL_EXTENSION_H_
diff --git a/src/tint/lang/core/extension_bench.cc b/src/tint/lang/wgsl/extension_bench.cc
similarity index 96%
rename from src/tint/lang/core/extension_bench.cc
rename to src/tint/lang/wgsl/extension_bench.cc
index b0602c7..50d3ea9 100644
--- a/src/tint/lang/core/extension_bench.cc
+++ b/src/tint/lang/wgsl/extension_bench.cc
@@ -14,20 +14,20 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/extension_bench.cc.tmpl
+// src/tint/lang/wgsl/extension_bench.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
-#include "src/tint/lang/core/extension.h"
+#include "src/tint/lang/wgsl/extension.h"
#include <array>
#include "benchmark/benchmark.h"
-namespace tint::core {
+namespace tint::wgsl {
namespace {
void ExtensionParser(::benchmark::State& state) {
@@ -114,4 +114,4 @@
BENCHMARK(ExtensionParser);
} // namespace
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/extension_bench.cc.tmpl b/src/tint/lang/wgsl/extension_bench.cc.tmpl
similarity index 80%
rename from src/tint/lang/core/extension_bench.cc.tmpl
rename to src/tint/lang/wgsl/extension_bench.cc.tmpl
index eeff261..7fc8c5c 100644
--- a/src/tint/lang/core/extension_bench.cc.tmpl
+++ b/src/tint/lang/wgsl/extension_bench.cc.tmpl
@@ -8,20 +8,20 @@
--------------------------------------------------------------------------------
*/ -}}
-{{- $I := LoadIntrinsics "src/tint/lang/core/core.def" -}}
+{{- $I := LoadIntrinsics "src/tint/lang/wgsl/wgsl.def" -}}
{{- Import "src/tint/utils/templates/enums.tmpl.inc" -}}
{{- $enum := ($I.Sem.Enum "extension") -}}
-#include "src/tint/lang/core/extension.h"
+#include "src/tint/lang/wgsl/extension.h"
#include <array>
#include "benchmark/benchmark.h"
-namespace tint::core {
+namespace tint::wgsl {
namespace {
{{ Eval "BenchmarkParseEnum" $enum }}
} // namespace
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/extension_test.cc b/src/tint/lang/wgsl/extension_test.cc
similarity index 96%
rename from src/tint/lang/core/extension_test.cc
rename to src/tint/lang/wgsl/extension_test.cc
index 32149f6..d46393d 100644
--- a/src/tint/lang/core/extension_test.cc
+++ b/src/tint/lang/wgsl/extension_test.cc
@@ -14,14 +14,14 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/extension_test.cc.tmpl
+// src/tint/lang/wgsl/extension_test.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
-#include "src/tint/lang/core/extension.h"
+#include "src/tint/lang/wgsl/extension.h"
#include <gtest/gtest.h>
@@ -29,7 +29,7 @@
#include "src/tint/utils/text/string.h"
-namespace tint::core {
+namespace tint::wgsl {
namespace {
namespace parse_print_tests {
@@ -115,4 +115,4 @@
} // namespace parse_print_tests
} // namespace
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/core/extension_test.cc.tmpl b/src/tint/lang/wgsl/extension_test.cc.tmpl
similarity index 81%
rename from src/tint/lang/core/extension_test.cc.tmpl
rename to src/tint/lang/wgsl/extension_test.cc.tmpl
index b993082..0e6d498 100644
--- a/src/tint/lang/core/extension_test.cc.tmpl
+++ b/src/tint/lang/wgsl/extension_test.cc.tmpl
@@ -8,11 +8,11 @@
--------------------------------------------------------------------------------
*/ -}}
-{{- $I := LoadIntrinsics "src/tint/lang/core/core.def" -}}
+{{- $I := LoadIntrinsics "src/tint/lang/wgsl/wgsl.def" -}}
{{- Import "src/tint/utils/templates/enums.tmpl.inc" -}}
{{- $enum := ($I.Sem.Enum "extension") -}}
-#include "src/tint/lang/core/extension.h"
+#include "src/tint/lang/wgsl/extension.h"
#include <gtest/gtest.h>
@@ -20,10 +20,10 @@
#include "src/tint/utils/text/string.h"
-namespace tint::core {
+namespace tint::wgsl {
namespace {
{{ Eval "TestParsePrintEnum" $enum}}
} // namespace
-} // namespace tint::core
+} // namespace tint::wgsl
diff --git a/src/tint/lang/wgsl/helpers/BUILD.bazel b/src/tint/lang/wgsl/helpers/BUILD.bazel
index 3dada81..c9687b0 100644
--- a/src/tint/lang/wgsl/helpers/BUILD.bazel
+++ b/src/tint/lang/wgsl/helpers/BUILD.bazel
@@ -40,6 +40,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/inspector",
@@ -78,6 +79,7 @@
"//src/tint/lang/core/intrinsic",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast:test",
"//src/tint/lang/wgsl/helpers",
diff --git a/src/tint/lang/wgsl/helpers/BUILD.cmake b/src/tint/lang/wgsl/helpers/BUILD.cmake
index 085c869..8cf2e47 100644
--- a/src/tint/lang/wgsl/helpers/BUILD.cmake
+++ b/src/tint/lang/wgsl/helpers/BUILD.cmake
@@ -39,6 +39,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_inspector
@@ -77,6 +78,7 @@
tint_lang_core_intrinsic
tint_lang_core_ir
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_test
tint_lang_wgsl_helpers
diff --git a/src/tint/lang/wgsl/helpers/BUILD.gn b/src/tint/lang/wgsl/helpers/BUILD.gn
index b676822..be773f2 100644
--- a/src/tint/lang/wgsl/helpers/BUILD.gn
+++ b/src/tint/lang/wgsl/helpers/BUILD.gn
@@ -43,6 +43,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/inspector",
@@ -80,6 +81,7 @@
"${tint_src_dir}/lang/core/intrinsic",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/helpers",
diff --git a/src/tint/lang/wgsl/helpers/check_supported_extensions.cc b/src/tint/lang/wgsl/helpers/check_supported_extensions.cc
index 4e9c329..ece9b37 100644
--- a/src/tint/lang/wgsl/helpers/check_supported_extensions.cc
+++ b/src/tint/lang/wgsl/helpers/check_supported_extensions.cc
@@ -26,8 +26,8 @@
bool CheckSupportedExtensions(std::string_view writer_name,
const ast::Module& module,
diag::List& diags,
- VectorRef<core::Extension> supported) {
- Hashset<core::Extension, 32> set;
+ VectorRef<wgsl::Extension> supported) {
+ Hashset<wgsl::Extension, 32> set;
for (auto ext : supported) {
set.Add(ext);
}
diff --git a/src/tint/lang/wgsl/helpers/check_supported_extensions.h b/src/tint/lang/wgsl/helpers/check_supported_extensions.h
index e9642dd..b2f09f3 100644
--- a/src/tint/lang/wgsl/helpers/check_supported_extensions.h
+++ b/src/tint/lang/wgsl/helpers/check_supported_extensions.h
@@ -15,7 +15,7 @@
#ifndef SRC_TINT_LANG_WGSL_HELPERS_CHECK_SUPPORTED_EXTENSIONS_H_
#define SRC_TINT_LANG_WGSL_HELPERS_CHECK_SUPPORTED_EXTENSIONS_H_
-#include "src/tint/lang/core/extension.h"
+#include "src/tint/lang/wgsl/extension.h"
#include "src/tint/utils/containers/vector.h"
namespace tint::ast {
@@ -36,7 +36,7 @@
bool CheckSupportedExtensions(std::string_view writer_name,
const ast::Module& module,
diag::List& diags,
- VectorRef<core::Extension> supported);
+ VectorRef<wgsl::Extension> supported);
} // namespace tint::writer
diff --git a/src/tint/lang/wgsl/helpers/check_supported_extensions_test.cc b/src/tint/lang/wgsl/helpers/check_supported_extensions_test.cc
index 29f4c9f..0d90851 100644
--- a/src/tint/lang/wgsl/helpers/check_supported_extensions_test.cc
+++ b/src/tint/lang/wgsl/helpers/check_supported_extensions_test.cc
@@ -24,21 +24,21 @@
class CheckSupportedExtensionsTest : public ::testing::Test, public ProgramBuilder {};
TEST_F(CheckSupportedExtensionsTest, Supported) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
ASSERT_TRUE(CheckSupportedExtensions("writer", AST(), Diagnostics(),
Vector{
- core::Extension::kF16,
- core::Extension::kChromiumExperimentalDp4A,
+ wgsl::Extension::kF16,
+ wgsl::Extension::kChromiumExperimentalDp4A,
}));
}
TEST_F(CheckSupportedExtensionsTest, Unsupported) {
- Enable(Source{{12, 34}}, core::Extension::kF16);
+ Enable(Source{{12, 34}}, wgsl::Extension::kF16);
ASSERT_FALSE(CheckSupportedExtensions("writer", AST(), Diagnostics(),
Vector{
- core::Extension::kChromiumExperimentalDp4A,
+ wgsl::Extension::kChromiumExperimentalDp4A,
}));
EXPECT_EQ(Diagnostics().str(), "12:34 error: writer backend does not support extension 'f16'");
}
diff --git a/src/tint/lang/wgsl/inspector/BUILD.bazel b/src/tint/lang/wgsl/inspector/BUILD.bazel
index 79a0b76..86f9897 100644
--- a/src/tint/lang/wgsl/inspector/BUILD.bazel
+++ b/src/tint/lang/wgsl/inspector/BUILD.bazel
@@ -42,6 +42,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
@@ -77,6 +78,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/inspector",
"//src/tint/lang/wgsl/program",
diff --git a/src/tint/lang/wgsl/inspector/BUILD.cmake b/src/tint/lang/wgsl/inspector/BUILD.cmake
index e5b36a0..5c0e910 100644
--- a/src/tint/lang/wgsl/inspector/BUILD.cmake
+++ b/src/tint/lang/wgsl/inspector/BUILD.cmake
@@ -41,6 +41,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
@@ -76,6 +77,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_inspector
tint_lang_wgsl_program
diff --git a/src/tint/lang/wgsl/inspector/BUILD.gn b/src/tint/lang/wgsl/inspector/BUILD.gn
index 5fea9d0..00feb25 100644
--- a/src/tint/lang/wgsl/inspector/BUILD.gn
+++ b/src/tint/lang/wgsl/inspector/BUILD.gn
@@ -45,6 +45,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
@@ -79,6 +80,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/inspector",
"${tint_src_dir}/lang/wgsl/program",
diff --git a/src/tint/lang/wgsl/inspector/inspector.cc b/src/tint/lang/wgsl/inspector/inspector.cc
index 7688ece..48cc3b7 100644
--- a/src/tint/lang/wgsl/inspector/inspector.cc
+++ b/src/tint/lang/wgsl/inspector/inspector.cc
@@ -18,7 +18,6 @@
#include <utility>
#include "src/tint/lang/core/builtin_value.h"
-#include "src/tint/lang/core/extension.h"
#include "src/tint/lang/core/fluent_types.h"
#include "src/tint/lang/core/interpolation_sampling.h"
#include "src/tint/lang/core/interpolation_type.h"
@@ -48,6 +47,7 @@
#include "src/tint/lang/wgsl/ast/module.h"
#include "src/tint/lang/wgsl/ast/override.h"
#include "src/tint/lang/wgsl/ast/var.h"
+#include "src/tint/lang/wgsl/extension.h"
#include "src/tint/lang/wgsl/sem/builtin_enum_expression.h"
#include "src/tint/lang/wgsl/sem/call.h"
#include "src/tint/lang/wgsl/sem/function.h"
diff --git a/src/tint/lang/wgsl/inspector/inspector_test.cc b/src/tint/lang/wgsl/inspector/inspector_test.cc
index ad171bd..f2099b5 100644
--- a/src/tint/lang/wgsl/inspector/inspector_test.cc
+++ b/src/tint/lang/wgsl/inspector/inspector_test.cc
@@ -402,7 +402,7 @@
std::function<ast::Type()> tint_type = GetTypeFunction(component, composition);
if (component == ComponentType::kF16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
}
auto* in_var = Param("in_var", tint_type(),
@@ -1021,7 +1021,7 @@
}
TEST_F(InspectorGetEntryPointTest, OverrideTypes) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Override("bool_var", ty.bool_());
Override("float_var", ty.f32());
@@ -1540,7 +1540,7 @@
// var<pixel_local> pls : Ure;
// @fragment fn foo() { _ = pls; }
- Enable(core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(wgsl::Extension::kChromiumExperimentalPixelLocal);
Structure("Ure", Vector{
Member("toto", ty.u32()),
Member("titi", ty.f32()),
@@ -1777,7 +1777,7 @@
}
TEST_F(InspectorGetOverrideDefaultValuesTest, F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Override("a", ty.f16(), Id(1_a));
Override("b", ty.f16(), Expr(0_h), Id(20_a));
@@ -3087,11 +3087,11 @@
expectedResourceType = ResourceBinding::ResourceType::kWriteOnlyStorageTexture;
break;
case core::Access::kRead:
- Enable(core::Extension::kChromiumExperimentalReadWriteStorageTexture);
+ Enable(wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture);
expectedResourceType = ResourceBinding::ResourceType::kReadOnlyStorageTexture;
break;
case core::Access::kReadWrite:
- Enable(core::Extension::kChromiumExperimentalReadWriteStorageTexture);
+ Enable(wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture);
expectedResourceType = ResourceBinding::ResourceType::kReadWriteStorageTexture;
break;
case core::Access::kUndefined:
diff --git a/src/tint/lang/wgsl/program/BUILD.bazel b/src/tint/lang/wgsl/program/BUILD.bazel
index aefd945..1fcc0d5 100644
--- a/src/tint/lang/wgsl/program/BUILD.bazel
+++ b/src/tint/lang/wgsl/program/BUILD.bazel
@@ -40,6 +40,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
@@ -72,6 +73,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast:test",
"//src/tint/lang/wgsl/program",
diff --git a/src/tint/lang/wgsl/program/BUILD.cmake b/src/tint/lang/wgsl/program/BUILD.cmake
index bae5dda..05bfcdb 100644
--- a/src/tint/lang/wgsl/program/BUILD.cmake
+++ b/src/tint/lang/wgsl/program/BUILD.cmake
@@ -39,6 +39,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_sem
tint_utils_containers
@@ -71,6 +72,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_test
tint_lang_wgsl_program
diff --git a/src/tint/lang/wgsl/program/BUILD.gn b/src/tint/lang/wgsl/program/BUILD.gn
index 784b43c..ea3bd1b 100644
--- a/src/tint/lang/wgsl/program/BUILD.gn
+++ b/src/tint/lang/wgsl/program/BUILD.gn
@@ -43,6 +43,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
@@ -74,6 +75,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/program",
diff --git a/src/tint/lang/wgsl/program/program_builder.h b/src/tint/lang/wgsl/program/program_builder.h
index 9daac97..81fdfc7 100644
--- a/src/tint/lang/wgsl/program/program_builder.h
+++ b/src/tint/lang/wgsl/program/program_builder.h
@@ -22,7 +22,6 @@
#include "src/tint/api/common/override_id.h"
#include "src/tint/lang/core/constant/manager.h"
-#include "src/tint/lang/core/extension.h"
#include "src/tint/lang/core/fluent_types.h"
#include "src/tint/lang/core/interpolation_sampling.h"
#include "src/tint/lang/core/interpolation_type.h"
@@ -45,6 +44,7 @@
#include "src/tint/lang/core/type/vector.h"
#include "src/tint/lang/core/type/void.h"
#include "src/tint/lang/wgsl/ast/builder.h"
+#include "src/tint/lang/wgsl/extension.h"
#include "src/tint/lang/wgsl/program/program.h"
#include "src/tint/lang/wgsl/sem/array_count.h"
#include "src/tint/lang/wgsl/sem/struct.h"
diff --git a/src/tint/lang/wgsl/reader/BUILD.bazel b/src/tint/lang/wgsl/reader/BUILD.bazel
index 4e8ffe5..43922a8 100644
--- a/src/tint/lang/wgsl/reader/BUILD.bazel
+++ b/src/tint/lang/wgsl/reader/BUILD.bazel
@@ -36,6 +36,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/reader/parser",
@@ -68,6 +69,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/reader",
diff --git a/src/tint/lang/wgsl/reader/BUILD.cmake b/src/tint/lang/wgsl/reader/BUILD.cmake
index 2c84e0b..9848c4b 100644
--- a/src/tint/lang/wgsl/reader/BUILD.cmake
+++ b/src/tint/lang/wgsl/reader/BUILD.cmake
@@ -38,6 +38,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_reader_parser
@@ -71,6 +72,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_reader
diff --git a/src/tint/lang/wgsl/reader/BUILD.gn b/src/tint/lang/wgsl/reader/BUILD.gn
index e26cd97..7c450ca 100644
--- a/src/tint/lang/wgsl/reader/BUILD.gn
+++ b/src/tint/lang/wgsl/reader/BUILD.gn
@@ -35,6 +35,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/reader/parser",
diff --git a/src/tint/lang/wgsl/reader/parser/BUILD.bazel b/src/tint/lang/wgsl/reader/parser/BUILD.bazel
index fdb4446..d1d9b22 100644
--- a/src/tint/lang/wgsl/reader/parser/BUILD.bazel
+++ b/src/tint/lang/wgsl/reader/parser/BUILD.bazel
@@ -43,6 +43,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/resolver",
@@ -142,6 +143,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast:test",
"//src/tint/lang/wgsl/program",
diff --git a/src/tint/lang/wgsl/reader/parser/BUILD.cmake b/src/tint/lang/wgsl/reader/parser/BUILD.cmake
index e53c99c..453af11 100644
--- a/src/tint/lang/wgsl/reader/parser/BUILD.cmake
+++ b/src/tint/lang/wgsl/reader/parser/BUILD.cmake
@@ -42,6 +42,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_resolver
@@ -141,6 +142,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_test
tint_lang_wgsl_program
diff --git a/src/tint/lang/wgsl/reader/parser/BUILD.gn b/src/tint/lang/wgsl/reader/parser/BUILD.gn
index 36c9f43..f765960 100644
--- a/src/tint/lang/wgsl/reader/parser/BUILD.gn
+++ b/src/tint/lang/wgsl/reader/parser/BUILD.gn
@@ -46,6 +46,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/resolver",
@@ -144,6 +145,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/program",
diff --git a/src/tint/lang/wgsl/reader/parser/diagnostic_attribute_test.cc b/src/tint/lang/wgsl/reader/parser/diagnostic_attribute_test.cc
index 120f5ac..88b1a20 100644
--- a/src/tint/lang/wgsl/reader/parser/diagnostic_attribute_test.cc
+++ b/src/tint/lang/wgsl/reader/parser/diagnostic_attribute_test.cc
@@ -27,7 +27,7 @@
EXPECT_TRUE(a.matched);
auto* d = a.value->As<ast::DiagnosticAttribute>();
ASSERT_NE(d, nullptr);
- EXPECT_EQ(d->control.severity, core::DiagnosticSeverity::kOff);
+ EXPECT_EQ(d->control.severity, wgsl::DiagnosticSeverity::kOff);
auto* r = d->control.rule_name;
ASSERT_NE(r, nullptr);
EXPECT_EQ(r->category, nullptr);
@@ -41,7 +41,7 @@
EXPECT_TRUE(a.matched);
auto* d = a.value->As<ast::DiagnosticAttribute>();
ASSERT_NE(d, nullptr);
- EXPECT_EQ(d->control.severity, core::DiagnosticSeverity::kOff);
+ EXPECT_EQ(d->control.severity, wgsl::DiagnosticSeverity::kOff);
auto* r = d->control.rule_name;
ASSERT_NE(r, nullptr);
ast::CheckIdentifier(r->category, "foo");
diff --git a/src/tint/lang/wgsl/reader/parser/diagnostic_control_test.cc b/src/tint/lang/wgsl/reader/parser/diagnostic_control_test.cc
index f89dfb5..4adeab6 100644
--- a/src/tint/lang/wgsl/reader/parser/diagnostic_control_test.cc
+++ b/src/tint/lang/wgsl/reader/parser/diagnostic_control_test.cc
@@ -20,7 +20,7 @@
namespace tint::wgsl::reader {
namespace {
-using SeverityPair = std::pair<std::string, core::DiagnosticSeverity>;
+using SeverityPair = std::pair<std::string, wgsl::DiagnosticSeverity>;
class DiagnosticControlParserTest : public WGSLParserTestWithParam<SeverityPair> {};
TEST_P(DiagnosticControlParserTest, DiagnosticControl_Name) {
@@ -51,18 +51,18 @@
}
INSTANTIATE_TEST_SUITE_P(DiagnosticControlParserTest,
DiagnosticControlParserTest,
- testing::Values(SeverityPair{"error", core::DiagnosticSeverity::kError},
+ testing::Values(SeverityPair{"error", wgsl::DiagnosticSeverity::kError},
SeverityPair{"warning",
- core::DiagnosticSeverity::kWarning},
- SeverityPair{"info", core::DiagnosticSeverity::kInfo},
- SeverityPair{"off", core::DiagnosticSeverity::kOff}));
+ wgsl::DiagnosticSeverity::kWarning},
+ SeverityPair{"info", wgsl::DiagnosticSeverity::kInfo},
+ SeverityPair{"off", wgsl::DiagnosticSeverity::kOff}));
TEST_F(WGSLParserTest, DiagnosticControl_Name_TrailingComma) {
auto p = parser("(error, foo,)");
auto e = p->expect_diagnostic_control();
EXPECT_FALSE(e.errored);
EXPECT_FALSE(p->has_error()) << p->error();
- EXPECT_EQ(e->severity, core::DiagnosticSeverity::kError);
+ EXPECT_EQ(e->severity, wgsl::DiagnosticSeverity::kError);
auto* r = e->rule_name;
ASSERT_NE(r, nullptr);
@@ -75,7 +75,7 @@
auto e = p->expect_diagnostic_control();
EXPECT_FALSE(e.errored);
EXPECT_FALSE(p->has_error()) << p->error();
- EXPECT_EQ(e->severity, core::DiagnosticSeverity::kError);
+ EXPECT_EQ(e->severity, wgsl::DiagnosticSeverity::kError);
auto* r = e->rule_name;
ASSERT_NE(r, nullptr);
diff --git a/src/tint/lang/wgsl/reader/parser/diagnostic_directive_test.cc b/src/tint/lang/wgsl/reader/parser/diagnostic_directive_test.cc
index 0e10e4c..6ba4f8d 100644
--- a/src/tint/lang/wgsl/reader/parser/diagnostic_directive_test.cc
+++ b/src/tint/lang/wgsl/reader/parser/diagnostic_directive_test.cc
@@ -27,7 +27,7 @@
auto& ast = p->builder().AST();
ASSERT_EQ(ast.DiagnosticDirectives().Length(), 1u);
auto* directive = ast.DiagnosticDirectives()[0];
- EXPECT_EQ(directive->control.severity, core::DiagnosticSeverity::kOff);
+ EXPECT_EQ(directive->control.severity, wgsl::DiagnosticSeverity::kOff);
ASSERT_EQ(ast.GlobalDeclarations().Length(), 1u);
EXPECT_EQ(ast.GlobalDeclarations()[0], directive);
@@ -44,7 +44,7 @@
auto& ast = p->builder().AST();
ASSERT_EQ(ast.DiagnosticDirectives().Length(), 1u);
auto* directive = ast.DiagnosticDirectives()[0];
- EXPECT_EQ(directive->control.severity, core::DiagnosticSeverity::kOff);
+ EXPECT_EQ(directive->control.severity, wgsl::DiagnosticSeverity::kOff);
ASSERT_EQ(ast.GlobalDeclarations().Length(), 1u);
EXPECT_EQ(ast.GlobalDeclarations()[0], directive);
diff --git a/src/tint/lang/wgsl/reader/parser/enable_directive_test.cc b/src/tint/lang/wgsl/reader/parser/enable_directive_test.cc
index 9f71c25..4897ab6 100644
--- a/src/tint/lang/wgsl/reader/parser/enable_directive_test.cc
+++ b/src/tint/lang/wgsl/reader/parser/enable_directive_test.cc
@@ -35,7 +35,7 @@
EXPECT_EQ(enable->source.range.end.line, 1u);
EXPECT_EQ(enable->source.range.end.column, 12u);
ASSERT_EQ(enable->extensions.Length(), 1u);
- EXPECT_EQ(enable->extensions[0]->name, core::Extension::kF16);
+ EXPECT_EQ(enable->extensions[0]->name, wgsl::Extension::kF16);
EXPECT_EQ(enable->extensions[0]->source.range.begin.line, 1u);
EXPECT_EQ(enable->extensions[0]->source.range.begin.column, 8u);
EXPECT_EQ(enable->extensions[0]->source.range.end.line, 1u);
@@ -58,7 +58,7 @@
EXPECT_EQ(enable->source.range.end.line, 1u);
EXPECT_EQ(enable->source.range.end.column, 14u);
ASSERT_EQ(enable->extensions.Length(), 1u);
- EXPECT_EQ(enable->extensions[0]->name, core::Extension::kF16);
+ EXPECT_EQ(enable->extensions[0]->name, wgsl::Extension::kF16);
EXPECT_EQ(enable->extensions[0]->source.range.begin.line, 1u);
EXPECT_EQ(enable->extensions[0]->source.range.begin.column, 8u);
EXPECT_EQ(enable->extensions[0]->source.range.end.line, 1u);
@@ -78,17 +78,17 @@
ASSERT_EQ(ast.Enables().Length(), 1u);
auto* enable = ast.Enables()[0];
ASSERT_EQ(enable->extensions.Length(), 3u);
- EXPECT_EQ(enable->extensions[0]->name, core::Extension::kF16);
+ EXPECT_EQ(enable->extensions[0]->name, wgsl::Extension::kF16);
EXPECT_EQ(enable->extensions[0]->source.range.begin.line, 1u);
EXPECT_EQ(enable->extensions[0]->source.range.begin.column, 8u);
EXPECT_EQ(enable->extensions[0]->source.range.end.line, 1u);
EXPECT_EQ(enable->extensions[0]->source.range.end.column, 11u);
- EXPECT_EQ(enable->extensions[1]->name, core::Extension::kChromiumDisableUniformityAnalysis);
+ EXPECT_EQ(enable->extensions[1]->name, wgsl::Extension::kChromiumDisableUniformityAnalysis);
EXPECT_EQ(enable->extensions[1]->source.range.begin.line, 1u);
EXPECT_EQ(enable->extensions[1]->source.range.begin.column, 13u);
EXPECT_EQ(enable->extensions[1]->source.range.end.line, 1u);
EXPECT_EQ(enable->extensions[1]->source.range.end.column, 49u);
- EXPECT_EQ(enable->extensions[2]->name, core::Extension::kChromiumExperimentalDp4A);
+ EXPECT_EQ(enable->extensions[2]->name, wgsl::Extension::kChromiumExperimentalDp4A);
EXPECT_EQ(enable->extensions[2]->source.range.begin.line, 1u);
EXPECT_EQ(enable->extensions[2]->source.range.begin.column, 51u);
EXPECT_EQ(enable->extensions[2]->source.range.end.line, 1u);
@@ -108,17 +108,17 @@
ASSERT_EQ(ast.Enables().Length(), 1u);
auto* enable = ast.Enables()[0];
ASSERT_EQ(enable->extensions.Length(), 3u);
- EXPECT_EQ(enable->extensions[0]->name, core::Extension::kF16);
+ EXPECT_EQ(enable->extensions[0]->name, wgsl::Extension::kF16);
EXPECT_EQ(enable->extensions[0]->source.range.begin.line, 1u);
EXPECT_EQ(enable->extensions[0]->source.range.begin.column, 8u);
EXPECT_EQ(enable->extensions[0]->source.range.end.line, 1u);
EXPECT_EQ(enable->extensions[0]->source.range.end.column, 11u);
- EXPECT_EQ(enable->extensions[1]->name, core::Extension::kChromiumDisableUniformityAnalysis);
+ EXPECT_EQ(enable->extensions[1]->name, wgsl::Extension::kChromiumDisableUniformityAnalysis);
EXPECT_EQ(enable->extensions[1]->source.range.begin.line, 1u);
EXPECT_EQ(enable->extensions[1]->source.range.begin.column, 13u);
EXPECT_EQ(enable->extensions[1]->source.range.end.line, 1u);
EXPECT_EQ(enable->extensions[1]->source.range.end.column, 49u);
- EXPECT_EQ(enable->extensions[2]->name, core::Extension::kChromiumExperimentalDp4A);
+ EXPECT_EQ(enable->extensions[2]->name, wgsl::Extension::kChromiumExperimentalDp4A);
EXPECT_EQ(enable->extensions[2]->source.range.begin.line, 1u);
EXPECT_EQ(enable->extensions[2]->source.range.begin.column, 51u);
EXPECT_EQ(enable->extensions[2]->source.range.end.line, 1u);
@@ -141,13 +141,13 @@
auto* enable_a = ast.Enables()[0];
auto* enable_b = ast.Enables()[1];
ASSERT_EQ(enable_a->extensions.Length(), 1u);
- EXPECT_EQ(enable_a->extensions[0]->name, core::Extension::kF16);
+ EXPECT_EQ(enable_a->extensions[0]->name, wgsl::Extension::kF16);
EXPECT_EQ(enable_a->extensions[0]->source.range.begin.line, 2u);
EXPECT_EQ(enable_a->extensions[0]->source.range.begin.column, 8u);
EXPECT_EQ(enable_a->extensions[0]->source.range.end.line, 2u);
EXPECT_EQ(enable_a->extensions[0]->source.range.end.column, 11u);
ASSERT_EQ(enable_b->extensions.Length(), 1u);
- EXPECT_EQ(enable_b->extensions[0]->name, core::Extension::kF16);
+ EXPECT_EQ(enable_b->extensions[0]->name, wgsl::Extension::kF16);
EXPECT_EQ(enable_b->extensions[0]->source.range.begin.line, 3u);
EXPECT_EQ(enable_b->extensions[0]->source.range.begin.column, 8u);
EXPECT_EQ(enable_b->extensions[0]->source.range.end.line, 3u);
@@ -272,7 +272,7 @@
ASSERT_EQ(ast.Enables().Length(), 1u);
auto* enable = ast.Enables()[0];
ASSERT_EQ(enable->extensions.Length(), 1u);
- EXPECT_EQ(enable->extensions[0]->name, core::Extension::kF16);
+ EXPECT_EQ(enable->extensions[0]->name, wgsl::Extension::kF16);
EXPECT_EQ(enable->extensions[0]->source.range.begin.line, 3u);
EXPECT_EQ(enable->extensions[0]->source.range.begin.column, 8u);
EXPECT_EQ(enable->extensions[0]->source.range.end.line, 3u);
@@ -297,7 +297,7 @@
ASSERT_EQ(ast.Enables().Length(), 1u);
auto* enable = ast.Enables()[0];
ASSERT_EQ(enable->extensions.Length(), 1u);
- EXPECT_EQ(enable->extensions[0]->name, core::Extension::kF16);
+ EXPECT_EQ(enable->extensions[0]->name, wgsl::Extension::kF16);
EXPECT_EQ(enable->extensions[0]->source.range.begin.line, 3u);
EXPECT_EQ(enable->extensions[0]->source.range.begin.column, 8u);
EXPECT_EQ(enable->extensions[0]->source.range.end.line, 3u);
diff --git a/src/tint/lang/wgsl/reader/parser/parser.cc b/src/tint/lang/wgsl/reader/parser/parser.cc
index 3905e3e..49defa2 100644
--- a/src/tint/lang/wgsl/reader/parser/parser.cc
+++ b/src/tint/lang/wgsl/reader/parser/parser.cc
@@ -416,7 +416,7 @@
Vector<const ast::Extension*, 4> extensions;
while (continue_parsing()) {
Source ext_src = peek().source();
- auto ext = expect_enum("extension", core::ParseExtension, core::kExtensionStrings);
+ auto ext = expect_enum("extension", wgsl::ParseExtension, wgsl::kExtensionStrings);
if (ext.errored) {
return Failure::kErrored;
}
@@ -3142,9 +3142,9 @@
// | 'warning'
// | 'info'
// | 'off'
-Expect<core::DiagnosticSeverity> Parser::expect_severity_control_name() {
- return expect_enum("severity control", core::ParseDiagnosticSeverity,
- core::kDiagnosticSeverityStrings);
+Expect<wgsl::DiagnosticSeverity> Parser::expect_severity_control_name() {
+ return expect_enum("severity control", wgsl::ParseDiagnosticSeverity,
+ wgsl::kDiagnosticSeverityStrings);
}
// diagnostic_control
diff --git a/src/tint/lang/wgsl/reader/parser/parser.h b/src/tint/lang/wgsl/reader/parser/parser.h
index 4c3f2b4..f61d74b 100644
--- a/src/tint/lang/wgsl/reader/parser/parser.h
+++ b/src/tint/lang/wgsl/reader/parser/parser.h
@@ -644,7 +644,7 @@
Expect<const ast::Attribute*> expect_attribute();
/// Parses a severity_control_name grammar element.
/// @return the parsed severity control name.
- Expect<core::DiagnosticSeverity> expect_severity_control_name();
+ Expect<wgsl::DiagnosticSeverity> expect_severity_control_name();
/// Parses a diagnostic_control grammar element.
/// @return the parsed diagnostic control.
Expect<ast::DiagnosticControl> expect_diagnostic_control();
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.bazel b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.bazel
index b78023b..17ea099 100644
--- a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.bazel
+++ b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.bazel
@@ -39,6 +39,7 @@
"//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
@@ -83,6 +84,7 @@
"//src/tint/lang/core/constant",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/helpers:test",
"//src/tint/lang/wgsl/program",
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cmake b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cmake
index ee5707d..39a7619 100644
--- a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cmake
+++ b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cmake
@@ -38,6 +38,7 @@
tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
@@ -82,6 +83,7 @@
tint_lang_core_constant
tint_lang_core_ir
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_helpers_test
tint_lang_wgsl_program
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.gn b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.gn
index 6b6d958..a2de875 100644
--- a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.gn
+++ b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.gn
@@ -42,6 +42,7 @@
"${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
@@ -85,6 +86,7 @@
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/helpers:unittests",
"${tint_src_dir}/lang/wgsl/program",
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/literal_test.cc b/src/tint/lang/wgsl/reader/program_to_ir/literal_test.cc
index 688399c..52a5fa2 100644
--- a/src/tint/lang/wgsl/reader/program_to_ir/literal_test.cc
+++ b/src/tint/lang/wgsl/reader/program_to_ir/literal_test.cc
@@ -143,7 +143,7 @@
}
TEST_F(ProgramToIRLiteralTest, EmitLiteral_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Expr(1.2_h);
GlobalVar("a", ty.f16(), core::AddressSpace::kPrivate, expr);
@@ -158,7 +158,7 @@
}
TEST_F(ProgramToIRLiteralTest, EmitLiteral_F16_Deduped) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("a", ty.f16(), core::AddressSpace::kPrivate, Expr(1.2_h));
GlobalVar("b", ty.f16(), core::AddressSpace::kPrivate, Expr(1.25_h));
GlobalVar("c", ty.f16(), core::AddressSpace::kPrivate, Expr(1.2_h));
diff --git a/src/tint/lang/wgsl/resolver/BUILD.bazel b/src/tint/lang/wgsl/resolver/BUILD.bazel
index d9cf277..ffcbc6c 100644
--- a/src/tint/lang/wgsl/resolver/BUILD.bazel
+++ b/src/tint/lang/wgsl/resolver/BUILD.bazel
@@ -48,6 +48,7 @@
"//src/tint/lang/core/intrinsic",
"//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
@@ -137,6 +138,7 @@
"//src/tint/lang/core/intrinsic",
"//src/tint/lang/core/type",
"//src/tint/lang/core/type:test",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/ast:test",
diff --git a/src/tint/lang/wgsl/resolver/BUILD.cmake b/src/tint/lang/wgsl/resolver/BUILD.cmake
index a2e516c..bd4bf3b 100644
--- a/src/tint/lang/wgsl/resolver/BUILD.cmake
+++ b/src/tint/lang/wgsl/resolver/BUILD.cmake
@@ -47,6 +47,7 @@
tint_lang_core_intrinsic
tint_lang_core_intrinsic_data
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
@@ -136,6 +137,7 @@
tint_lang_core_intrinsic
tint_lang_core_type
tint_lang_core_type_test
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_ast_test
diff --git a/src/tint/lang/wgsl/resolver/BUILD.gn b/src/tint/lang/wgsl/resolver/BUILD.gn
index 319ea05..ef3752b 100644
--- a/src/tint/lang/wgsl/resolver/BUILD.gn
+++ b/src/tint/lang/wgsl/resolver/BUILD.gn
@@ -51,6 +51,7 @@
"${tint_src_dir}/lang/core/intrinsic",
"${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
@@ -139,6 +140,7 @@
"${tint_src_dir}/lang/core/intrinsic",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/core/type:unittests",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/ast/transform",
diff --git a/src/tint/lang/wgsl/resolver/address_space_layout_validation_test.cc b/src/tint/lang/wgsl/resolver/address_space_layout_validation_test.cc
index 632683b..43c646a 100644
--- a/src/tint/lang/wgsl/resolver/address_space_layout_validation_test.cc
+++ b/src/tint/lang/wgsl/resolver/address_space_layout_validation_test.cc
@@ -372,7 +372,7 @@
// @group(0) @binding(0)
// var<uniform> a : ScalarPackedAtEndOfVec3;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("ScalarPackedAtEndOfVec3", Vector{
Member("v", ty.vec3(ty.f16())),
@@ -569,7 +569,7 @@
// @align(1) b : f32;
// };
// var<push_constant> a : S;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
Structure(Source{{12, 34}}, "S",
Vector{Member("a", ty.f32(), Vector{MemberSize(5_a)}),
Member(Source{{34, 56}}, "b", ty.f32(), Vector{MemberAlign(1_i)})});
@@ -595,7 +595,7 @@
// @align(4) b : f32;
// };
// var<push_constant> a : S;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
Structure("S", Vector{Member("a", ty.f32(), Vector{MemberSize(5_a)}),
Member("b", ty.f32(), Vector{MemberAlign(4_i)})});
GlobalVar("a", ty("S"), core::AddressSpace::kPushConstant);
@@ -618,7 +618,7 @@
// @group(0) @binding(0)
// var<uniform> a : Outer;
- Enable(core::Extension::kChromiumInternalRelaxedUniformLayout);
+ Enable(wgsl::Extension::kChromiumInternalRelaxedUniformLayout);
Structure(Source{{12, 34}}, "Inner",
Vector{
@@ -650,7 +650,7 @@
// @group(0) @binding(0)
// var<uniform> a : Outer;
- Enable(core::Extension::kChromiumInternalRelaxedUniformLayout);
+ Enable(wgsl::Extension::kChromiumInternalRelaxedUniformLayout);
Alias("Inner", ty.array<f32, 10>(Vector{Stride(16)}));
@@ -681,7 +681,7 @@
// @group(0) @binding(0)
// var<uniform> a : Outer;
- Enable(core::Extension::kChromiumInternalRelaxedUniformLayout);
+ Enable(wgsl::Extension::kChromiumInternalRelaxedUniformLayout);
Structure(Source{{12, 34}}, "Inner",
Vector{
@@ -710,7 +710,7 @@
// @group(0) @binding(0)
// var<uniform> a : Outer;
- Enable(core::Extension::kChromiumInternalRelaxedUniformLayout);
+ Enable(wgsl::Extension::kChromiumInternalRelaxedUniformLayout);
Structure(Source{{12, 34}}, "Outer",
Vector{
@@ -734,8 +734,8 @@
// @group(0) @binding(0)
// var<uniform> a : Outer;
- Enable(core::Extension::kF16);
- Enable(core::Extension::kChromiumInternalRelaxedUniformLayout);
+ Enable(wgsl::Extension::kF16);
+ Enable(wgsl::Extension::kChromiumInternalRelaxedUniformLayout);
Structure(Source{{12, 34}}, "Outer",
Vector{
diff --git a/src/tint/lang/wgsl/resolver/address_space_validation_test.cc b/src/tint/lang/wgsl/resolver/address_space_validation_test.cc
index 917a546..1d4f390d 100644
--- a/src/tint/lang/wgsl/resolver/address_space_validation_test.cc
+++ b/src/tint/lang/wgsl/resolver/address_space_validation_test.cc
@@ -245,7 +245,7 @@
TEST_F(ResolverAddressSpaceValidationTest, GlobalVariable_Storage_F16) {
// enable f16;
// var<storage> g : f16;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("g", ty.f16(), core::AddressSpace::kStorage, Binding(0_a), Group(0_a));
@@ -255,7 +255,7 @@
TEST_F(ResolverAddressSpaceValidationTest, PointerAlias_Storage_F16) {
// enable f16;
// type t = ptr<storage, f16>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Alias("t", ty.ptr<storage, f16>());
@@ -266,7 +266,7 @@
// enable f16;
// type a = f16;
// var<storage, read> g : a;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Alias("a", ty.f16());
GlobalVar("g", ty("a"), core::AddressSpace::kStorage, Binding(0_a), Group(0_a));
@@ -278,7 +278,7 @@
// enable f16;
// type a = f16;
// type t = ptr<storage, a>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Alias("a", ty.f16());
Alias("t", ty.ptr<storage>(ty("a")));
@@ -302,7 +302,7 @@
TEST_F(ResolverAddressSpaceValidationTest, GlobalVariable_Storage_VectorF16) {
// var<storage> g : vec4<f16>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("g", ty.vec(ty.f16(), 4u), core::AddressSpace::kStorage, Binding(0_a), Group(0_a));
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -310,7 +310,7 @@
TEST_F(ResolverAddressSpaceValidationTest, PointerAlias_Storage_VectorF16) {
// type t = ptr<storage, vec4<f16>>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Alias("t", ty.ptr<storage, vec4<f32>>());
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -339,7 +339,7 @@
// enable f16;
// struct S{ a : f16 };
// var<storage, read> g : array<S, 3u>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{Member("a", ty.f16())});
GlobalVar("g", ty.array(ty("S"), 3_u), core::AddressSpace::kStorage, core::Access::kRead,
@@ -352,7 +352,7 @@
// enable f16;
// struct S{ a : f16 };
// type t = ptr<storage, array<S, 3u>, read>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{Member("a", ty.f16())});
Alias("t", ty.ptr<storage, read>(ty.array(ty("S"), 3_u)));
@@ -407,7 +407,7 @@
TEST_F(ResolverAddressSpaceValidationTest, GlobalVariable_Storage_StructF16) {
// struct S { x : f16 };
// var<storage, read> g : S;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{Member("x", ty.f16())});
GlobalVar("g", ty("S"), core::AddressSpace::kStorage, core::Access::kRead, Binding(0_a),
@@ -419,7 +419,7 @@
TEST_F(ResolverAddressSpaceValidationTest, PointerAlias_Storage_StructF16) {
// struct S { x : f16 };
// type t = ptr<storage, S, read>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{Member("x", ty.f16())});
Alias("t", ty.ptr<storage, read>(ty("S")));
@@ -431,7 +431,7 @@
// struct S { x : f16 };
// type a1 = S;
// var<storage, read> g : a1;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{Member("x", ty.f16())});
Alias("a1", ty("S"));
@@ -446,7 +446,7 @@
// struct S { x : f16 };
// type a1 = S;
// type t = ptr<storage, a1, read>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{Member("x", ty.f16())});
Alias("a1", ty("S"));
@@ -661,7 +661,7 @@
TEST_F(ResolverAddressSpaceValidationTest, GlobalVariable_UniformBufferF16) {
// enable f16;
// var<uniform> g : f16;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("g", ty.f16(), core::AddressSpace::kUniform, Binding(0_a), Group(0_a));
@@ -671,7 +671,7 @@
TEST_F(ResolverAddressSpaceValidationTest, PointerAlias_UniformBufferF16) {
// enable f16;
// type t = ptr<uniform, f16>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Alias("t", ty.ptr<uniform, f16>());
@@ -695,7 +695,7 @@
TEST_F(ResolverAddressSpaceValidationTest, GlobalVariable_UniformBufferVectorF16) {
// enable f16;
// var<uniform> g : vec4<f16>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("g", ty.vec4<f16>(), core::AddressSpace::kUniform, Binding(0_a), Group(0_a));
@@ -705,7 +705,7 @@
TEST_F(ResolverAddressSpaceValidationTest, PointerAlias_UniformBufferVectorF16) {
// enable f16;
// type t = ptr<uniform, vec4<f16>>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Alias("t", ty.ptr<uniform, f16>());
@@ -740,7 +740,7 @@
// @size(16) f : f16;
// }
// var<uniform> g : array<S, 3u>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{Member("a", ty.f16(), Vector{MemberSize(16_a)})});
GlobalVar("g", ty.array(ty("S"), 3_u), core::AddressSpace::kUniform, Binding(0_a), Group(0_a));
@@ -754,7 +754,7 @@
// @size(16) f : f16;
// }
// type t = ptr<uniform, array<S, 3u>>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{Member("a", ty.f16(), Vector{MemberSize(16_a)})});
Alias("t", ty.ptr<uniform>(ty.array(ty("S"), 3_u)));
@@ -806,7 +806,7 @@
// enable f16;
// struct S { x : f16 };
// var<uniform> g : S;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{Member("x", ty.f16())});
GlobalVar("g", ty("S"), core::AddressSpace::kUniform, Binding(0_a), Group(0_a));
@@ -818,7 +818,7 @@
// enable f16;
// struct S { x : f16 };
// type t = ptr<uniform, S>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{Member("x", ty.f16())});
Alias("t", ty.ptr<uniform>(ty("S")));
@@ -831,7 +831,7 @@
// struct S { x : f16 };
// type a1 = S;
// var<uniform> g : a1;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{Member("x", ty.f16())});
Alias("a1", ty("S"));
@@ -845,7 +845,7 @@
// struct S { x : f16 };
// type a1 = S;
// type t = ptr<uniform, a1>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Structure("S", Vector{Member("x", ty.f16())});
Alias("a1", ty("S"));
@@ -857,7 +857,7 @@
TEST_F(ResolverAddressSpaceValidationTest, GlobalVariable_PushConstantBool) {
// enable chromium_experimental_push_constant;
// var<push_constant> g : bool;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
GlobalVar(Source{{56, 78}}, "g", ty.bool_(Source{{12, 34}}), core::AddressSpace::kPushConstant);
ASSERT_FALSE(r()->Resolve());
@@ -870,7 +870,7 @@
TEST_F(ResolverAddressSpaceValidationTest, PointerAlias_PushConstantBool) {
// enable chromium_experimental_push_constant;
// type t = ptr<push_constant, bool>;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
Alias(Source{{56, 78}}, "t", ty.ptr<push_constant>(ty.bool_(Source{{12, 34}})));
ASSERT_FALSE(r()->Resolve());
@@ -884,8 +884,8 @@
// enable f16;
// enable chromium_experimental_push_constant;
// var<push_constant> g : f16;
- Enable(core::Extension::kF16);
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kF16);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
GlobalVar("g", ty.f16(Source{{56, 78}}), core::AddressSpace::kPushConstant);
ASSERT_FALSE(r()->Resolve());
@@ -897,8 +897,8 @@
// enable f16;
// enable chromium_experimental_push_constant;
// type t = ptr<push_constant, f16>;
- Enable(core::Extension::kF16);
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kF16);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
Alias("t", ty.ptr<push_constant>(ty.f16(Source{{56, 78}})));
ASSERT_FALSE(r()->Resolve());
@@ -909,7 +909,7 @@
TEST_F(ResolverAddressSpaceValidationTest, GlobalVariable_PushConstantPointer) {
// enable chromium_experimental_push_constant;
// var<push_constant> g : ptr<private, f32>;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
GlobalVar(Source{{56, 78}}, "g", ty.ptr<private_, f32>(Source{{12, 34}}),
core::AddressSpace::kPushConstant);
@@ -923,7 +923,7 @@
TEST_F(ResolverAddressSpaceValidationTest, PointerAlias_PushConstantPointer) {
// enable chromium_experimental_push_constant;
// type t = ptr<push_constant, ptr<private, f32>>;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
Alias(Source{{56, 78}}, "t", ty.ptr<push_constant>(ty.ptr<private_, f32>(Source{{12, 34}})));
ASSERT_FALSE(r()->Resolve());
@@ -936,7 +936,7 @@
TEST_F(ResolverAddressSpaceValidationTest, GlobalVariable_PushConstantIntScalar) {
// enable chromium_experimental_push_constant;
// var<push_constant> g : i32;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
GlobalVar("g", ty.i32(), core::AddressSpace::kPushConstant);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -945,7 +945,7 @@
TEST_F(ResolverAddressSpaceValidationTest, PointerAlias_PushConstantIntScalar) {
// enable chromium_experimental_push_constant;
// type t = ptr<push_constant, i32>;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
Alias("t", ty.ptr<push_constant, i32>());
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -954,7 +954,7 @@
TEST_F(ResolverAddressSpaceValidationTest, GlobalVariable_PushConstantVectorF32) {
// enable chromium_experimental_push_constant;
// var<push_constant> g : vec4<f32>;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
GlobalVar("g", ty.vec4<f32>(), core::AddressSpace::kPushConstant);
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -963,7 +963,7 @@
TEST_F(ResolverAddressSpaceValidationTest, PointerAlias_PushConstantVectorF32) {
// enable chromium_experimental_push_constant;
// var<push_constant> g : vec4<f32>;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
Alias("t", ty.ptr<push_constant, vec4<f32>>());
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -973,7 +973,7 @@
// enable chromium_experimental_push_constant;
// struct S { a : f32}
// var<push_constant> g : array<S, 3u>;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
Structure("S", Vector{Member("a", ty.f32())});
GlobalVar("g", ty.array(ty("S"), 3_u), core::AddressSpace::kPushConstant);
@@ -984,7 +984,7 @@
// enable chromium_experimental_push_constant;
// struct S { a : f32}
// type t = ptr<push_constant, array<S, 3u>>;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
Structure("S", Vector{Member("a", ty.f32())});
Alias("t", ty.ptr<push_constant>(ty.array(ty("S"), 3_u)));
diff --git a/src/tint/lang/wgsl/resolver/attribute_validation_test.cc b/src/tint/lang/wgsl/resolver/attribute_validation_test.cc
index 5e1a8db1..706d974 100644
--- a/src/tint/lang/wgsl/resolver/attribute_validation_test.cc
+++ b/src/tint/lang/wgsl/resolver/attribute_validation_test.cc
@@ -80,7 +80,7 @@
struct TestWithParams : ResolverTestWithParam<TestParams> {
void EnableExtensionIfNecessary(AttributeKind attributeKind) {
if (attributeKind == AttributeKind::kIndex) {
- Enable(core::Extension::kChromiumInternalDualSourceBlending);
+ Enable(wgsl::Extension::kChromiumInternalDualSourceBlending);
}
}
};
@@ -96,7 +96,7 @@
case AttributeKind::kBuiltin:
return {builder.Builtin(source, core::BuiltinValue::kPosition)};
case AttributeKind::kDiagnostic:
- return {builder.DiagnosticAttribute(source, core::DiagnosticSeverity::kInfo, "chromium",
+ return {builder.DiagnosticAttribute(source, wgsl::DiagnosticSeverity::kInfo, "chromium",
"unreachable_code")};
case AttributeKind::kGroup:
return {builder.Group(source, 1_a)};
diff --git a/src/tint/lang/wgsl/resolver/bitcast_validation_test.cc b/src/tint/lang/wgsl/resolver/bitcast_validation_test.cc
index 92756c2..2913165 100644
--- a/src/tint/lang/wgsl/resolver/bitcast_validation_test.cc
+++ b/src/tint/lang/wgsl/resolver/bitcast_validation_test.cc
@@ -108,7 +108,7 @@
auto dst = std::get<1>(GetParam());
if (src.used_f16 || dst.used_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
}
auto* cast = Bitcast(dst.ast(*this), src.expr(*this, 0));
@@ -151,7 +151,7 @@
auto dst = std::get<1>(GetParam());
if (src.used_f16 || dst.used_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
}
auto* cast = Bitcast(dst.ast(*this), Expr(Source{{12, 34}}, "src"));
@@ -196,7 +196,7 @@
auto dst = std::get<1>(GetParam());
if (src.used_f16 || dst.used_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
}
// Use an alias so we can put a Source on the bitcast type
@@ -242,7 +242,7 @@
auto dst = std::get<1>(GetParam());
if (src.used_f16 || dst.used_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
}
WrapInFunction(Bitcast(Source{{12, 34}}, dst.ast(*this), src.expr(*this, 0)));
@@ -379,7 +379,7 @@
////////////////////////////////////////////////////////////////////////////////
using ResolverBitcastValidationTestInvalidConst = tint::resolver::ResolverTest;
TEST_F(ResolverBitcastValidationTestInvalidConst, ConstBitcastToF16NaN) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
// Lower 16 bits of const u32 0x7e10 is NaN in f16.
auto* a = Const("a", Expr(u32(0x00007e10)));
@@ -393,7 +393,7 @@
}
TEST_F(ResolverBitcastValidationTestInvalidConst, ConstBitcastToF16Inf) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
// 0xfc00 is -Inf in f16.
auto* a = Const("a", Call<vec2<u32>>(u32(0x00007010), u32(0xfc008000)));
@@ -417,7 +417,7 @@
}
TEST_F(ResolverBitcastValidationTestInvalidConst, ConstBitcastToF32Inf) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
// 0x7f800000 is Inf in f32.
auto* a = Const("a", Call<vec3<u32>>(u32(0xA0008000), u32(0x7f800000), u32(0x40000000)));
diff --git a/src/tint/lang/wgsl/resolver/builtin_enum_test.cc b/src/tint/lang/wgsl/resolver/builtin_enum_test.cc
index 26749b2..3f73a5d 100644
--- a/src/tint/lang/wgsl/resolver/builtin_enum_test.cc
+++ b/src/tint/lang/wgsl/resolver/builtin_enum_test.cc
@@ -57,7 +57,7 @@
TEST_P(ResolverAddressSpaceUsedWithTemplateArgs, Test) {
// fn f(p : ptr<ADDRESS_SPACE<T>, f32) {}
- Enable(core::Extension::kChromiumExperimentalFullPtrParameters);
+ Enable(wgsl::Extension::kChromiumExperimentalFullPtrParameters);
auto* tmpl = Ident(Source{{12, 34}}, GetParam(), "T");
Func("f", Vector{Param("p", ty("ptr", tmpl, ty.f32()))}, ty.void_(), tint::Empty);
EXPECT_FALSE(r()->Resolve());
diff --git a/src/tint/lang/wgsl/resolver/builtin_structs_test.cc b/src/tint/lang/wgsl/resolver/builtin_structs_test.cc
index 0696559..409b238 100644
--- a/src/tint/lang/wgsl/resolver/builtin_structs_test.cc
+++ b/src/tint/lang/wgsl/resolver/builtin_structs_test.cc
@@ -28,7 +28,7 @@
using ResolverBuiltinStructs = ResolverTestWithParam<core::Builtin>;
TEST_P(ResolverBuiltinStructs, Resolve) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
// var<private> p : NAME;
auto* var = GlobalVar("p", ty(GetParam()), core::AddressSpace::kPrivate);
diff --git a/src/tint/lang/wgsl/resolver/builtin_test.cc b/src/tint/lang/wgsl/resolver/builtin_test.cc
index 3bb9c95..1ec3b5f 100644
--- a/src/tint/lang/wgsl/resolver/builtin_test.cc
+++ b/src/tint/lang/wgsl/resolver/builtin_test.cc
@@ -492,7 +492,7 @@
TEST_P(ResolverBuiltinTest_FloatBuiltin_IdenticalType, OneParam_Scalar_f16) {
auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto val = 0.5_h;
if (param.name == std::string("acosh")) {
@@ -520,7 +520,7 @@
TEST_P(ResolverBuiltinTest_FloatBuiltin_IdenticalType, OneParam_Vector_f16) {
auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto val = param.name == std::string("acosh") ? Call<vec3<f16>>(1.0_h, 2.0_h, 3.0_h)
: Call<vec3<f16>>(0.5_h, 0.5_h, 0.8_h);
@@ -549,7 +549,7 @@
TEST_P(ResolverBuiltinTest_FloatBuiltin_IdenticalType, TwoParams_Scalar_f16) {
auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call(param.name, 1_h, 1_h);
WrapInFunction(call);
@@ -572,7 +572,7 @@
TEST_P(ResolverBuiltinTest_FloatBuiltin_IdenticalType, TwoParams_Vector_f16) {
auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call(param.name, Call<vec3<f16>>(1_h, 1_h, 3_h), Call<vec3<f16>>(1_h, 1_h, 3_h));
WrapInFunction(call);
@@ -598,7 +598,7 @@
TEST_P(ResolverBuiltinTest_FloatBuiltin_IdenticalType, ThreeParams_Scalar_f16) {
auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call(param.name, 0_h, 1_h, 2_h);
WrapInFunction(call);
@@ -621,7 +621,7 @@
TEST_P(ResolverBuiltinTest_FloatBuiltin_IdenticalType, ThreeParams_Vector_f16) {
auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call(param.name, Call<vec3<f16>>(0_h, 0_h, 0_h), Call<vec3<f16>>(1_h, 1_h, 1_h),
Call<vec3<f16>>(2_h, 2_h, 2_h));
@@ -649,7 +649,7 @@
TEST_P(ResolverBuiltinTest_FloatBuiltin_IdenticalType, FourParams_Scalar_f16) {
auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call(param.name, 1_h, 1_h, 1_h, 1_h);
WrapInFunction(call);
@@ -672,7 +672,7 @@
TEST_P(ResolverBuiltinTest_FloatBuiltin_IdenticalType, FourParams_Vector_f16) {
auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call(param.name, Call<vec3<f16>>(1_h, 1_h, 3_h), Call<vec3<f16>>(1_h, 1_h, 3_h),
Call<vec3<f16>>(1_h, 1_h, 3_h), Call<vec3<f16>>(1_h, 1_h, 3_h));
@@ -766,7 +766,7 @@
}
TEST_F(ResolverBuiltinFloatTest, Cross_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("cross", Call<vec3<f16>>(1_h, 2_h, 3_h), Call<vec3<f16>>(1_h, 2_h, 3_h));
WrapInFunction(call);
@@ -863,7 +863,7 @@
}
TEST_F(ResolverBuiltinFloatTest, Distance_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("distance", 1_h, 1_h);
WrapInFunction(call);
@@ -885,7 +885,7 @@
}
TEST_F(ResolverBuiltinFloatTest, Distance_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("distance", Call<vec3<f16>>(1_h, 1_h, 3_h), Call<vec3<f16>>(1_h, 1_h, 3_h));
WrapInFunction(call);
@@ -971,7 +971,7 @@
}
TEST_F(ResolverBuiltinFloatTest, FrexpScalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("frexp", 1_h);
WrapInFunction(call);
@@ -1035,7 +1035,7 @@
}
TEST_F(ResolverBuiltinFloatTest, FrexpVector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("frexp", Call<vec3<f16>>());
WrapInFunction(call);
@@ -1097,7 +1097,7 @@
}
TEST_F(ResolverBuiltinFloatTest, Length_Scalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("length", 1_h);
WrapInFunction(call);
@@ -1119,7 +1119,7 @@
}
TEST_F(ResolverBuiltinFloatTest, Length_FloatVector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("length", Call<vec3<f16>>(1_h, 1_h, 3_h));
WrapInFunction(call);
@@ -1174,7 +1174,7 @@
}
TEST_F(ResolverBuiltinFloatTest, Mix_VectorScalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("mix", Call<vec3<f16>>(1_h, 1_h, 1_h), Call<vec3<f16>>(1_h, 1_h, 1_h), 4_h);
WrapInFunction(call);
@@ -1220,7 +1220,7 @@
}
TEST_F(ResolverBuiltinFloatTest, ModfScalar_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("modf", 1_h);
WrapInFunction(call);
@@ -1284,7 +1284,7 @@
}
TEST_F(ResolverBuiltinFloatTest, ModfVector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("modf", Call<vec3<f16>>());
WrapInFunction(call);
@@ -1394,7 +1394,7 @@
}
TEST_F(ResolverBuiltinFloatTest, Normalize_Vector_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("normalize", Call<vec3<f16>>(1_h, 1_h, 3_h));
WrapInFunction(call);
@@ -1857,7 +1857,7 @@
}
TEST_F(ResolverBuiltinTest, Determinant_2x2_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("var", ty.mat2x2<f16>(), core::AddressSpace::kPrivate);
@@ -1883,7 +1883,7 @@
}
TEST_F(ResolverBuiltinTest, Determinant_3x3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("var", ty.mat3x3<f16>(), core::AddressSpace::kPrivate);
@@ -1909,7 +1909,7 @@
}
TEST_F(ResolverBuiltinTest, Determinant_4x4_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("var", ty.mat4x4<f16>(), core::AddressSpace::kPrivate);
@@ -1970,7 +1970,7 @@
}
TEST_F(ResolverBuiltinTest, Dot_Vec2_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("my_var", ty.vec2<f16>(), core::AddressSpace::kPrivate);
diff --git a/src/tint/lang/wgsl/resolver/builtin_validation_test.cc b/src/tint/lang/wgsl/resolver/builtin_validation_test.cc
index baca6e9..86e4f4c 100644
--- a/src/tint/lang/wgsl/resolver/builtin_validation_test.cc
+++ b/src/tint/lang/wgsl/resolver/builtin_validation_test.cc
@@ -537,7 +537,7 @@
TEST_F(ResolverDP4aExtensionValidationTest, Dot4I8PackedWithExtension) {
// enable chromium_experimental_dp4a;
// fn func { return dot4I8Packed(1u, 2u); }
- Enable(core::Extension::kChromiumExperimentalDp4A);
+ Enable(wgsl::Extension::kChromiumExperimentalDp4A);
Func("func", tint::Empty, ty.i32(),
Vector{
@@ -565,7 +565,7 @@
TEST_F(ResolverDP4aExtensionValidationTest, Dot4U8PackedWithExtension) {
// enable chromium_experimental_dp4a;
// fn func { return dot4U8Packed(1u, 2u); }
- Enable(core::Extension::kChromiumExperimentalDp4A);
+ Enable(wgsl::Extension::kChromiumExperimentalDp4A);
Func("func", tint::Empty, ty.u32(),
Vector{
@@ -670,7 +670,7 @@
TEST_F(ResolverBuiltinValidationTest, SubgroupBallotWithExtension) {
// enable chromium_experimental_subgroups;
// fn func -> vec4<u32> { return subgroupBallot(); }
- Enable(core::Extension::kChromiumExperimentalSubgroups);
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroups);
Func("func", tint::Empty, ty.vec4<u32>(),
Vector{
@@ -696,7 +696,7 @@
TEST_F(ResolverBuiltinValidationTest, SubgroupBroadcastWithExtension) {
// enable chromium_experimental_subgroups;
// fn func -> i32 { return subgroupBroadcast(1,0); }
- Enable(core::Extension::kChromiumExperimentalSubgroups);
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroups);
Func("func", tint::Empty, ty.i32(),
Vector{
@@ -709,7 +709,7 @@
TEST_F(ResolverBuiltinValidationTest, SubroupBroadcastInComputeStage) {
// @vertex fn func { dpdx(1.0); }
- Enable(core::Extension::kChromiumExperimentalSubgroups);
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroups);
auto* call = Call("subgroupBroadcast", 1_f, 0_u);
Func(Source{{1, 2}}, "func", tint::Empty, ty.void_(), Vector{Ignore(call)},
@@ -724,7 +724,7 @@
TEST_F(ResolverBuiltinValidationTest, SubroupBroadcastInVertexStageIsError) {
// @vertex fn func { dpdx(1.0); }
- Enable(core::Extension::kChromiumExperimentalSubgroups);
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroups);
auto* call = Call(Source{{3, 4}}, "subgroupBroadcast", 1_f, 0_u);
Func("func", tint::Empty, ty.vec4<f32>(), Vector{Ignore(call), Return(Call(ty.vec4<f32>()))},
@@ -740,7 +740,7 @@
TEST_F(ResolverBuiltinValidationTest, SubroupBroadcastInFragmentStageIsError) {
// @vertex fn func { dpdx(1.0); }
- Enable(core::Extension::kChromiumExperimentalSubgroups);
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroups);
auto* call = Call(Source{{3, 4}}, "subgroupBroadcast", 1_f, 0_u);
Func("func",
@@ -755,7 +755,7 @@
}
TEST_F(ResolverBuiltinValidationTest, SubgroupBroadcastValueF32) {
- Enable(core::Extension::kChromiumExperimentalSubgroups);
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroups);
Func("func", tint::Empty, ty.f32(),
Vector{
Return(Call("subgroupBroadcast", 1_f, 0_u)),
@@ -764,7 +764,7 @@
}
TEST_F(ResolverBuiltinValidationTest, SubgroupBroadcastValueI32) {
- Enable(core::Extension::kChromiumExperimentalSubgroups);
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroups);
Func("func", tint::Empty, ty.i32(),
Vector{
Return(Call("subgroupBroadcast", 1_i, 0_u)),
@@ -773,7 +773,7 @@
}
TEST_F(ResolverBuiltinValidationTest, SubgroupBroadcastValueU32) {
- Enable(core::Extension::kChromiumExperimentalSubgroups);
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroups);
Func("func", tint::Empty, ty.u32(),
Vector{
Return(Call("subgroupBroadcast", 1_u, 0_u)),
@@ -782,7 +782,7 @@
}
TEST_F(ResolverBuiltinValidationTest, SubgroupBroadcastLaneArgMustBeConst) {
- Enable(core::Extension::kChromiumExperimentalSubgroups);
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroups);
Func("func", tint::Empty, ty.void_(),
Vector{
Decl(Let("lane", Expr(1_u))),
@@ -810,7 +810,7 @@
TEST_F(ResolverBuiltinValidationTest, TextureBarrierWithExtension) {
// enable chromium_experimental_read_write_storage_texture;
// fn func { textureBarrier(); }
- Enable(core::Extension::kChromiumExperimentalReadWriteStorageTexture);
+ Enable(wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture);
Func("func", tint::Empty, ty.void_(),
Vector{
diff --git a/src/tint/lang/wgsl/resolver/call_test.cc b/src/tint/lang/wgsl/resolver/call_test.cc
index 961fe98..669b087 100644
--- a/src/tint/lang/wgsl/resolver/call_test.cc
+++ b/src/tint/lang/wgsl/resolver/call_test.cc
@@ -64,7 +64,7 @@
};
TEST_F(ResolverCallTest, Valid) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Vector<const ast::Parameter*, 4> params;
Vector<const ast::Expression*, 4> args;
diff --git a/src/tint/lang/wgsl/resolver/call_validation_test.cc b/src/tint/lang/wgsl/resolver/call_validation_test.cc
index b26816c..b665d0d 100644
--- a/src/tint/lang/wgsl/resolver/call_validation_test.cc
+++ b/src/tint/lang/wgsl/resolver/call_validation_test.cc
@@ -166,7 +166,7 @@
// var v : S;
// foo(&v.m);
// }
- Enable(core::Extension::kChromiumExperimentalFullPtrParameters);
+ Enable(wgsl::Extension::kChromiumExperimentalFullPtrParameters);
auto* S = Structure("S", Vector{
Member("m", ty.i32()),
});
@@ -346,7 +346,7 @@
// let p: ptr<function, i32> = &(v[0]);
// x(p);
// }
- Enable(core::Extension::kChromiumExperimentalFullPtrParameters);
+ Enable(wgsl::Extension::kChromiumExperimentalFullPtrParameters);
Func("foo",
Vector{
Param("p", ty.ptr<function, i32>()),
@@ -436,7 +436,7 @@
// let p3 = &(*p2)[0];
// foo(&*p);
// }
- Enable(core::Extension::kChromiumExperimentalFullPtrParameters);
+ Enable(wgsl::Extension::kChromiumExperimentalFullPtrParameters);
Func("foo",
Vector{
Param("p", ty.ptr<function, i32>()),
diff --git a/src/tint/lang/wgsl/resolver/dependency_graph_test.cc b/src/tint/lang/wgsl/resolver/dependency_graph_test.cc
index 508ac34..a22669f 100644
--- a/src/tint/lang/wgsl/resolver/dependency_graph_test.cc
+++ b/src/tint/lang/wgsl/resolver/dependency_graph_test.cc
@@ -1106,9 +1106,9 @@
// a transform may produce such a AST tree that has some declarations before directive nodes.
// DependencyGraph should deal with these cases.
auto* var_1 = GlobalVar("SYMBOL1", ty.i32());
- auto* enable = Enable(core::Extension::kF16);
+ auto* enable = Enable(wgsl::Extension::kF16);
auto* var_2 = GlobalVar("SYMBOL2", ty.f32());
- auto* diagnostic = DiagnosticDirective(core::DiagnosticSeverity::kWarning, "foo");
+ auto* diagnostic = DiagnosticDirective(wgsl::DiagnosticSeverity::kWarning, "foo");
EXPECT_THAT(AST().GlobalDeclarations(), ElementsAre(var_1, enable, var_2, diagnostic));
EXPECT_THAT(Build().ordered_globals, ElementsAre(enable, diagnostic, var_1, var_2));
diff --git a/src/tint/lang/wgsl/resolver/diagnostic_control_test.cc b/src/tint/lang/wgsl/resolver/diagnostic_control_test.cc
index 43bea18..971eb23 100644
--- a/src/tint/lang/wgsl/resolver/diagnostic_control_test.cc
+++ b/src/tint/lang/wgsl/resolver/diagnostic_control_test.cc
@@ -32,7 +32,7 @@
}
TEST_F(ResolverDiagnosticControlTest, UnreachableCode_ErrorViaDirective) {
- DiagnosticDirective(core::DiagnosticSeverity::kError, "chromium", "unreachable_code");
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kError, "chromium", "unreachable_code");
auto stmts = Vector{Return(), Return()};
Func("foo", {}, ty.void_(), stmts);
@@ -42,7 +42,7 @@
}
TEST_F(ResolverDiagnosticControlTest, UnreachableCode_WarningViaDirective) {
- DiagnosticDirective(core::DiagnosticSeverity::kWarning, "chromium", "unreachable_code");
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kWarning, "chromium", "unreachable_code");
auto stmts = Vector{Return(), Return()};
Func("foo", {}, ty.void_(), stmts);
@@ -52,7 +52,7 @@
}
TEST_F(ResolverDiagnosticControlTest, UnreachableCode_InfoViaDirective) {
- DiagnosticDirective(core::DiagnosticSeverity::kInfo, "chromium", "unreachable_code");
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kInfo, "chromium", "unreachable_code");
auto stmts = Vector{Return(), Return()};
Func("foo", {}, ty.void_(), stmts);
@@ -62,7 +62,7 @@
}
TEST_F(ResolverDiagnosticControlTest, UnreachableCode_OffViaDirective) {
- DiagnosticDirective(core::DiagnosticSeverity::kOff, "chromium", "unreachable_code");
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kOff, "chromium", "unreachable_code");
auto stmts = Vector{Return(), Return()};
Func("foo", {}, ty.void_(), stmts);
@@ -73,7 +73,7 @@
TEST_F(ResolverDiagnosticControlTest, UnreachableCode_ErrorViaAttribute) {
auto* attr =
- DiagnosticAttribute(core::DiagnosticSeverity::kError, "chromium", "unreachable_code");
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kError, "chromium", "unreachable_code");
auto stmts = Vector{Return(), Return()};
Func("foo", {}, ty.void_(), stmts, Vector{attr});
@@ -84,7 +84,7 @@
TEST_F(ResolverDiagnosticControlTest, UnreachableCode_WarningViaAttribute) {
auto* attr =
- DiagnosticAttribute(core::DiagnosticSeverity::kWarning, "chromium", "unreachable_code");
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kWarning, "chromium", "unreachable_code");
auto stmts = Vector{Return(), Return()};
Func("foo", {}, ty.void_(), stmts, Vector{attr});
@@ -95,7 +95,7 @@
TEST_F(ResolverDiagnosticControlTest, UnreachableCode_InfoViaAttribute) {
auto* attr =
- DiagnosticAttribute(core::DiagnosticSeverity::kInfo, "chromium", "unreachable_code");
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kInfo, "chromium", "unreachable_code");
auto stmts = Vector{Return(), Return()};
Func("foo", {}, ty.void_(), stmts, Vector{attr});
@@ -106,7 +106,7 @@
TEST_F(ResolverDiagnosticControlTest, UnreachableCode_OffViaAttribute) {
auto* attr =
- DiagnosticAttribute(core::DiagnosticSeverity::kOff, "chromium", "unreachable_code");
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "chromium", "unreachable_code");
auto stmts = Vector{Return(), Return()};
Func("foo", {}, ty.void_(), stmts, Vector{attr});
@@ -122,9 +122,9 @@
// return;
// return; // Should produce a warning
// }
- DiagnosticDirective(core::DiagnosticSeverity::kError, "chromium", "unreachable_code");
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kError, "chromium", "unreachable_code");
auto* attr =
- DiagnosticAttribute(core::DiagnosticSeverity::kWarning, "chromium", "unreachable_code");
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kWarning, "chromium", "unreachable_code");
auto stmts = Vector{Return(), Return()};
Func("foo", {}, ty.void_(), stmts, Vector{attr});
@@ -150,7 +150,7 @@
// }
{
auto* attr =
- DiagnosticAttribute(core::DiagnosticSeverity::kOff, "chromium", "unreachable_code");
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "chromium", "unreachable_code");
Func("foo", {}, ty.void_(),
Vector{
Return(),
@@ -167,7 +167,7 @@
}
{
auto* attr =
- DiagnosticAttribute(core::DiagnosticSeverity::kInfo, "chromium", "unreachable_code");
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kInfo, "chromium", "unreachable_code");
Func("zoo", {}, ty.void_(),
Vector{
Return(),
@@ -218,22 +218,22 @@
Return(),
Return(Source{{34, 43}}),
},
- attr(core::DiagnosticSeverity::kInfo)),
+ attr(wgsl::DiagnosticSeverity::kInfo)),
Else(Block(Vector{
While(Expr(true), Block(
Vector{
Return(),
Return(Source{{56, 65}}),
},
- attr(core::DiagnosticSeverity::kOff))),
+ attr(wgsl::DiagnosticSeverity::kOff))),
Return(),
Return(Source{{78, 87}}),
}))),
},
- attr(core::DiagnosticSeverity::kWarning)),
+ attr(wgsl::DiagnosticSeverity::kWarning)),
}),
},
- attr(core::DiagnosticSeverity::kOff));
+ attr(wgsl::DiagnosticSeverity::kOff));
EXPECT_TRUE(r()->Resolve()) << r()->error();
EXPECT_EQ(r()->error(), R"(34:43 note: code is unreachable
@@ -241,7 +241,7 @@
}
TEST_F(ResolverDiagnosticControlTest, UnrecognizedCoreRuleName_Directive) {
- DiagnosticDirective(core::DiagnosticSeverity::kError,
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{12, 34}}, "derivative_uniform"));
EXPECT_TRUE(r()->Resolve()) << r()->error();
EXPECT_EQ(r()->error(),
@@ -251,7 +251,7 @@
}
TEST_F(ResolverDiagnosticControlTest, UnrecognizedCoreRuleName_Attribute) {
- auto* attr = DiagnosticAttribute(core::DiagnosticSeverity::kError,
+ auto* attr = DiagnosticAttribute(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{12, 34}}, "derivative_uniform"));
Func("foo", {}, ty.void_(), {}, Vector{attr});
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -262,7 +262,7 @@
}
TEST_F(ResolverDiagnosticControlTest, UnrecognizedChromiumRuleName_Directive) {
- DiagnosticDirective(core::DiagnosticSeverity::kError,
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{12, 34}}, "chromium", "unreachable_cod"));
EXPECT_TRUE(r()->Resolve()) << r()->error();
EXPECT_EQ(r()->error(),
@@ -273,7 +273,7 @@
TEST_F(ResolverDiagnosticControlTest, UnrecognizedChromiumRuleName_Attribute) {
auto* attr =
- DiagnosticAttribute(core::DiagnosticSeverity::kError,
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{12, 34}}, "chromium", "unreachable_cod"));
Func("foo", {}, ty.void_(), {}, Vector{attr});
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -284,7 +284,7 @@
}
TEST_F(ResolverDiagnosticControlTest, UnrecognizedOtherRuleName_Directive) {
- DiagnosticDirective(core::DiagnosticSeverity::kError,
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{12, 34}}, "unknown", "unreachable_cod"));
EXPECT_TRUE(r()->Resolve()) << r()->error();
EXPECT_EQ(r()->error(), "");
@@ -292,7 +292,7 @@
TEST_F(ResolverDiagnosticControlTest, UnrecognizedOtherRuleName_Attribute) {
auto* attr =
- DiagnosticAttribute(core::DiagnosticSeverity::kError,
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{12, 34}}, "unknown", "unreachable_cod"));
Func("foo", {}, ty.void_(), {}, Vector{attr});
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -300,17 +300,17 @@
}
TEST_F(ResolverDiagnosticControlTest, Conflict_SameNameSameSeverity_Directive) {
- DiagnosticDirective(core::DiagnosticSeverity::kError,
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{12, 34}}, "chromium", "unreachable_code"));
- DiagnosticDirective(core::DiagnosticSeverity::kError,
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{56, 78}}, "chromium", "unreachable_code"));
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverDiagnosticControlTest, Conflict_SameNameDifferentSeverity_Directive) {
- DiagnosticDirective(core::DiagnosticSeverity::kError,
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{12, 34}}, "chromium", "unreachable_code"));
- DiagnosticDirective(core::DiagnosticSeverity::kOff,
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kOff,
DiagnosticRuleName(Source{{56, 78}}, "chromium", "unreachable_code"));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
@@ -319,9 +319,9 @@
}
TEST_F(ResolverDiagnosticControlTest, Conflict_SameUnknownNameDifferentSeverity_Directive) {
- DiagnosticDirective(core::DiagnosticSeverity::kError,
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{12, 34}}, "chromium", "unreachable_codes"));
- DiagnosticDirective(core::DiagnosticSeverity::kOff,
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kOff,
DiagnosticRuleName(Source{{56, 78}}, "chromium", "unreachable_codes"));
EXPECT_FALSE(r()->Resolve());
EXPECT_EQ(r()->error(),
@@ -336,17 +336,17 @@
}
TEST_F(ResolverDiagnosticControlTest, Conflict_DifferentUnknownNameDifferentSeverity_Directive) {
- DiagnosticDirective(core::DiagnosticSeverity::kError, "chromium", "unreachable_codes");
- DiagnosticDirective(core::DiagnosticSeverity::kOff, "chromium", "unreachable_codex");
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kError, "chromium", "unreachable_codes");
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kOff, "chromium", "unreachable_codex");
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
TEST_F(ResolverDiagnosticControlTest, Conflict_SameNameSameSeverity_Attribute) {
auto* attr1 =
- DiagnosticAttribute(core::DiagnosticSeverity::kError,
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{12, 34}}, "chromium", "unreachable_code"));
auto* attr2 =
- DiagnosticAttribute(core::DiagnosticSeverity::kError,
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{56, 78}}, "chromium", "unreachable_code"));
Func("foo", {}, ty.void_(), {}, Vector{attr1, attr2});
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -354,10 +354,10 @@
TEST_F(ResolverDiagnosticControlTest, Conflict_SameNameDifferentSeverity_Attribute) {
auto* attr1 =
- DiagnosticAttribute(core::DiagnosticSeverity::kError,
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{12, 34}}, "chromium", "unreachable_code"));
auto* attr2 =
- DiagnosticAttribute(core::DiagnosticSeverity::kOff,
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff,
DiagnosticRuleName(Source{{56, 78}}, "chromium", "unreachable_code"));
Func("foo", {}, ty.void_(), {}, Vector{attr1, attr2});
EXPECT_FALSE(r()->Resolve());
@@ -368,10 +368,10 @@
TEST_F(ResolverDiagnosticControlTest, Conflict_SameUnknownNameDifferentSeverity_Attribute) {
auto* attr1 =
- DiagnosticAttribute(core::DiagnosticSeverity::kError,
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kError,
DiagnosticRuleName(Source{{12, 34}}, "chromium", "unreachable_codes"));
auto* attr2 =
- DiagnosticAttribute(core::DiagnosticSeverity::kOff,
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff,
DiagnosticRuleName(Source{{56, 78}}, "chromium", "unreachable_codes"));
Func("foo", {}, ty.void_(), {}, Vector{attr1, attr2});
EXPECT_FALSE(r()->Resolve());
@@ -388,9 +388,9 @@
TEST_F(ResolverDiagnosticControlTest, Conflict_DifferentUnknownNameDifferentSeverity_Attribute) {
auto* attr1 =
- DiagnosticAttribute(core::DiagnosticSeverity::kError, "chromium", "unreachable_codes");
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kError, "chromium", "unreachable_codes");
auto* attr2 =
- DiagnosticAttribute(core::DiagnosticSeverity::kOff, "chromium", "unreachable_codex");
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kOff, "chromium", "unreachable_codex");
Func("foo", {}, ty.void_(), {}, Vector{attr1, attr2});
EXPECT_TRUE(r()->Resolve()) << r()->error();
}
diff --git a/src/tint/lang/wgsl/resolver/dual_source_blending_extension_test.cc b/src/tint/lang/wgsl/resolver/dual_source_blending_extension_test.cc
index bd6bb4b..6fe1a48 100644
--- a/src/tint/lang/wgsl/resolver/dual_source_blending_extension_test.cc
+++ b/src/tint/lang/wgsl/resolver/dual_source_blending_extension_test.cc
@@ -42,7 +42,7 @@
class DualSourceBlendingExtensionTests : public ResolverTest {
public:
DualSourceBlendingExtensionTests() {
- Enable(core::Extension::kChromiumInternalDualSourceBlending);
+ Enable(wgsl::Extension::kChromiumInternalDualSourceBlending);
}
};
@@ -148,7 +148,7 @@
class DualSourceBlendingExtensionTestWithParams : public ResolverTestWithParam<int> {
public:
DualSourceBlendingExtensionTestWithParams() {
- Enable(core::Extension::kChromiumInternalDualSourceBlending);
+ Enable(wgsl::Extension::kChromiumInternalDualSourceBlending);
}
};
diff --git a/src/tint/lang/wgsl/resolver/entry_point_validation_test.cc b/src/tint/lang/wgsl/resolver/entry_point_validation_test.cc
index 4b09e58..a14d4f4 100644
--- a/src/tint/lang/wgsl/resolver/entry_point_validation_test.cc
+++ b/src/tint/lang/wgsl/resolver/entry_point_validation_test.cc
@@ -435,7 +435,7 @@
TEST_F(ResolverEntryPointValidationTest, PushConstantAllowedWithEnable) {
// enable chromium_experimental_push_constant;
// var<push_constant> a : u32;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
GlobalVar("a", ty.u32(), core::AddressSpace::kPushConstant);
EXPECT_TRUE(r()->Resolve());
@@ -465,7 +465,7 @@
// @compute @workgroup_size(1) fn main() {
// _ = a;
// }
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
GlobalVar("a", ty.u32(), core::AddressSpace::kPushConstant);
Func("main", {}, ty.void_(), Vector{Assign(Phony(), "a")},
@@ -482,7 +482,7 @@
// _ = a;
// _ = b;
// }
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
GlobalVar(Source{{1, 2}}, "a", ty.u32(), core::AddressSpace::kPushConstant);
GlobalVar(Source{{3, 4}}, "b", ty.u32(), core::AddressSpace::kPushConstant);
@@ -511,7 +511,7 @@
// uses_a();
// uses_b();
// }
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
GlobalVar(Source{{1, 2}}, "a", ty.u32(), core::AddressSpace::kPushConstant);
GlobalVar(Source{{3, 4}}, "b", ty.u32(), core::AddressSpace::kPushConstant);
@@ -543,7 +543,7 @@
// @compute @workgroup_size(1) fn uses_b() {
// _ = a;
// }
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
GlobalVar("a", ty.u32(), core::AddressSpace::kPushConstant);
GlobalVar("b", ty.u32(), core::AddressSpace::kPushConstant);
@@ -598,7 +598,7 @@
// fn main(@location(0) @interpolate(flat) a : *) {}
auto params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* a = Param("a", params.create_ast_type(*this),
Vector{
@@ -629,7 +629,7 @@
// fn main(a : Input) {}
auto params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* input = Structure(
"Input", Vector{
@@ -659,7 +659,7 @@
// }
auto params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Func(Source{{12, 34}}, "main", tint::Empty, params.create_ast_type(*this),
Vector{
@@ -689,7 +689,7 @@
// }
auto params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* output =
Structure("Output", Vector{
diff --git a/src/tint/lang/wgsl/resolver/expression_kind_test.cc b/src/tint/lang/wgsl/resolver/expression_kind_test.cc
index a1e98ba..aad7671 100644
--- a/src/tint/lang/wgsl/resolver/expression_kind_test.cc
+++ b/src/tint/lang/wgsl/resolver/expression_kind_test.cc
@@ -291,7 +291,7 @@
GlobalVar("v", ty("texture_storage_2d", "rgba8unorm", expr), Group(0_u), Binding(0_u));
break;
case Use::kAddressSpace:
- Enable(core::Extension::kChromiumExperimentalFullPtrParameters);
+ Enable(wgsl::Extension::kChromiumExperimentalFullPtrParameters);
Func(Symbols().New(), Vector{Param("p", ty("ptr", expr, ty.f32()))}, ty.void_(),
tint::Empty);
break;
diff --git a/src/tint/lang/wgsl/resolver/f16_extension_test.cc b/src/tint/lang/wgsl/resolver/f16_extension_test.cc
index d6848aa..3ebf7f7 100644
--- a/src/tint/lang/wgsl/resolver/f16_extension_test.cc
+++ b/src/tint/lang/wgsl/resolver/f16_extension_test.cc
@@ -28,7 +28,7 @@
TEST_F(ResolverF16ExtensionTest, TypeUsedWithExtension) {
// enable f16;
// var<private> v : f16;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("v", ty.f16(), core::AddressSpace::kPrivate);
@@ -46,7 +46,7 @@
TEST_F(ResolverF16ExtensionTest, Vec2TypeUsedWithExtension) {
// enable f16;
// var<private> v : vec2<f16>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("v", ty.vec2<f16>(), core::AddressSpace::kPrivate);
@@ -64,7 +64,7 @@
TEST_F(ResolverF16ExtensionTest, Vec2TypeInitUsedWithExtension) {
// enable f16;
// var<private> v = vec2<f16>();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("v", Call<vec2<f16>>(), core::AddressSpace::kPrivate);
@@ -82,7 +82,7 @@
TEST_F(ResolverF16ExtensionTest, Vec2TypeConvUsedWithExtension) {
// enable f16;
// var<private> v = vec2<f16>(vec2<f32>());
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("v", Call<vec2<f16>>(Call<vec2<f32>>()), core::AddressSpace::kPrivate);
@@ -101,7 +101,7 @@
TEST_F(ResolverF16ExtensionTest, F16LiteralUsedWithExtension) {
// enable f16;
// var<private> v = 16h;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("v", Expr(16_h), core::AddressSpace::kPrivate);
@@ -121,7 +121,7 @@
TEST_P(ResolverF16ExtensionBuiltinTypeAliasTest, Vec2hTypeUsedWithExtension) {
// enable f16;
// var<private> v : vec2h;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("v", ty(Source{{12, 34}}, GetParam()), core::AddressSpace::kPrivate);
diff --git a/src/tint/lang/wgsl/resolver/function_validation_test.cc b/src/tint/lang/wgsl/resolver/function_validation_test.cc
index e1d479a..ac2383d 100644
--- a/src/tint/lang/wgsl/resolver/function_validation_test.cc
+++ b/src/tint/lang/wgsl/resolver/function_validation_test.cc
@@ -1054,7 +1054,7 @@
Func("f", Vector{arg}, ty.void_(), tint::Empty);
if (param.address_space == core::AddressSpace::kPixelLocal) {
- Enable(core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(wgsl::Extension::kChromiumExperimentalPixelLocal);
}
if (param.expectation == Expectation::kAlwaysPass) {
@@ -1080,11 +1080,11 @@
Structure("S", Vector{Member("a", ty.i32())});
auto ptr_type = ty("ptr", Ident(Source{{12, 34}}, param.address_space), ty("S"));
auto* arg = Param(Source{{12, 34}}, "p", ptr_type);
- Enable(core::Extension::kChromiumExperimentalFullPtrParameters);
+ Enable(wgsl::Extension::kChromiumExperimentalFullPtrParameters);
Func("f", Vector{arg}, ty.void_(), tint::Empty);
if (param.address_space == core::AddressSpace::kPixelLocal) {
- Enable(core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(wgsl::Extension::kChromiumExperimentalPixelLocal);
}
if (param.expectation == Expectation::kAlwaysPass ||
diff --git a/src/tint/lang/wgsl/resolver/host_shareable_validation_test.cc b/src/tint/lang/wgsl/resolver/host_shareable_validation_test.cc
index 473d84a..fcc6543 100644
--- a/src/tint/lang/wgsl/resolver/host_shareable_validation_test.cc
+++ b/src/tint/lang/wgsl/resolver/host_shareable_validation_test.cc
@@ -97,7 +97,7 @@
}
TEST_F(ResolverHostShareableValidationTest, NoError) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* i1 = Structure("I1", Vector{
Member(Source{{1, 1}}, "w1", ty.f32()),
diff --git a/src/tint/lang/wgsl/resolver/materialize_test.cc b/src/tint/lang/wgsl/resolver/materialize_test.cc
index 1c8655e..a8fed54 100644
--- a/src/tint/lang/wgsl/resolver/materialize_test.cc
+++ b/src/tint/lang/wgsl/resolver/materialize_test.cc
@@ -318,7 +318,7 @@
MaterializeTest<std::tuple<Expectation, Method, Data>>;
TEST_P(MaterializeAbstractNumericToConcreteType, Test) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
const auto& param = GetParam();
const auto& expectation = std::get<0>(param);
@@ -1303,7 +1303,7 @@
TEST_F(MaterializeAbstractStructure, Modf_Scalar_ExplicitType) {
// var v = modf(1_h); // v is __modf_result_f16
// v = modf(1); // __modf_result_f16 <- __modf_result_abstract
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("modf", 1_a);
WrapInFunction(Decl(Var("v", Call("modf", 1_h))), //
Assign("v", call));
@@ -1322,7 +1322,7 @@
TEST_F(MaterializeAbstractStructure, Modf_Vector_ExplicitType) {
// var v = modf(vec2(1_h)); // v is __modf_result_vec2_f16
// v = modf(vec2(1)); // __modf_result_vec2_f16 <- __modf_result_vec2_abstract
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("modf", Call<vec2<Infer>>(1_a));
WrapInFunction(Decl(Var("v", Call("modf", Call<vec2<Infer>>(1_h)))), Assign("v", call));
ASSERT_TRUE(r()->Resolve()) << r()->error();
@@ -1405,7 +1405,7 @@
TEST_F(MaterializeAbstractStructure, Frexp_Scalar_ExplicitType) {
// var v = frexp(1_h); // v is __frexp_result_f16
// v = frexp(1); // __frexp_result_f16 <- __frexp_result_abstract
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("frexp", 1_a);
WrapInFunction(Decl(Var("v", Call("frexp", 1_h))), //
Assign("v", call));
@@ -1426,7 +1426,7 @@
TEST_F(MaterializeAbstractStructure, Frexp_Vector_ExplicitType) {
// var v = frexp(vec2(1_h)); // v is __frexp_result_vec2_f16
// v = frexp(vec2(1)); // __frexp_result_vec2_f16 <- __frexp_result_vec2_abstract
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* call = Call("frexp", Call<vec2<Infer>>(1_a));
WrapInFunction(Decl(Var("v", Call("frexp", Call<vec2<Infer>>(1_h)))), Assign("v", call));
ASSERT_TRUE(r()->Resolve()) << r()->error();
diff --git a/src/tint/lang/wgsl/resolver/override_test.cc b/src/tint/lang/wgsl/resolver/override_test.cc
index 1e0a533..f575a4f 100644
--- a/src/tint/lang/wgsl/resolver/override_test.cc
+++ b/src/tint/lang/wgsl/resolver/override_test.cc
@@ -66,7 +66,7 @@
}
TEST_F(ResolverOverrideTest, WithAndWithoutIds) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* a = Override("a", ty.f32(), Expr(1_f));
auto* b = Override("b", ty.f16(), Expr(1_h));
diff --git a/src/tint/lang/wgsl/resolver/pixel_local_extension_test.cc b/src/tint/lang/wgsl/resolver/pixel_local_extension_test.cc
index 2c97b5d..2937d70 100644
--- a/src/tint/lang/wgsl/resolver/pixel_local_extension_test.cc
+++ b/src/tint/lang/wgsl/resolver/pixel_local_extension_test.cc
@@ -29,7 +29,7 @@
// enable chromium_experimental_pixel_local;
// struct S { a : i32 }
// var<pixel_local> v : S;
- Enable(Source{{12, 34}}, core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(Source{{12, 34}}, wgsl::Extension::kChromiumExperimentalPixelLocal);
Structure("S", Vector{Member("a", ty.i32())});
@@ -67,7 +67,7 @@
// _ = a.i;
// _ = b.i;
// }
- Enable(core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(wgsl::Extension::kChromiumExperimentalPixelLocal);
Structure("S", Vector{Member("i", ty.i32())});
GlobalVar(Source{{1, 2}}, "a", ty("S"), core::AddressSpace::kPixelLocal);
GlobalVar(Source{{3, 4}}, "b", ty("S"), core::AddressSpace::kPixelLocal);
@@ -99,7 +99,7 @@
// uses_a();
// uses_b();
// }
- Enable(core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(wgsl::Extension::kChromiumExperimentalPixelLocal);
Structure("S", Vector{Member("i", ty.i32())});
GlobalVar(Source{{1, 2}}, "a", ty("S"), core::AddressSpace::kPixelLocal);
GlobalVar(Source{{3, 4}}, "b", ty("S"), core::AddressSpace::kPixelLocal);
@@ -132,7 +132,7 @@
// v.i = 42;
// return vec4f();
// }
- Enable(core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(wgsl::Extension::kChromiumExperimentalPixelLocal);
Structure("S", Vector{Member("i", ty.i32())});
GlobalVar(Source{{56, 78}}, "v", ty("S"), core::AddressSpace::kPixelLocal);
Func("F", Empty, ty.vec4<f32>(),
@@ -157,7 +157,7 @@
// @compute @workgroup_size(1) fn F() {
// v.i = 42;
// }
- Enable(core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(wgsl::Extension::kChromiumExperimentalPixelLocal);
Structure("S", Vector{Member("i", ty.i32())});
GlobalVar(Source{{56, 78}}, "v", ty("S"), core::AddressSpace::kPixelLocal);
Func("F", Empty, ty.void_(),
@@ -178,7 +178,7 @@
// @fragment fn F() {
// v.i = 42;
// }
- Enable(core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(wgsl::Extension::kChromiumExperimentalPixelLocal);
Structure("S", Vector{Member("i", ty.i32())});
GlobalVar(Source{{56, 78}}, "v", ty("S"), core::AddressSpace::kPixelLocal);
Func("F", Empty, ty.void_(),
@@ -198,7 +198,7 @@
// X();
// return vec4f();
// }
- Enable(core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(wgsl::Extension::kChromiumExperimentalPixelLocal);
Structure("S", Vector{Member("i", ty.i32())});
GlobalVar(Source{{3, 4}}, "v", ty("S"), core::AddressSpace::kPixelLocal);
Func(Source{{5, 6}}, "X", Empty, ty.void_(),
@@ -231,7 +231,7 @@
// @compute @workgroup_size(1) fn F() {
// Y();
// }
- Enable(core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(wgsl::Extension::kChromiumExperimentalPixelLocal);
Structure("S", Vector{Member("i", ty.i32())});
GlobalVar(Source{{3, 4}}, "v", ty("S"), core::AddressSpace::kPixelLocal);
Func(Source{{5, 6}}, "X", Empty, ty.void_(),
@@ -259,7 +259,7 @@
// @fragment fn F() {
// Y();
// }
- Enable(core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(wgsl::Extension::kChromiumExperimentalPixelLocal);
Structure("S", Vector{Member("i", ty.i32())});
GlobalVar(Source{{3, 4}}, "v", ty("S"), core::AddressSpace::kPixelLocal);
Func(Source{{5, 6}}, "X", Empty, ty.void_(),
@@ -297,7 +297,7 @@
TEST_P(ResolverPixelLocalExtensionTest_Types, Direct) {
// var<pixel_local> v : <type>;
- Enable(core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(wgsl::Extension::kChromiumExperimentalPixelLocal);
GlobalVar(Source{{12, 34}}, "v", GetParam().type(*this), core::AddressSpace::kPixelLocal);
EXPECT_FALSE(r()->Resolve());
@@ -312,7 +312,7 @@
// }
// var<pixel_local> v : S;
- Enable(core::Extension::kChromiumExperimentalPixelLocal);
+ Enable(wgsl::Extension::kChromiumExperimentalPixelLocal);
Structure("S", Vector{
Member("a", ty.i32()),
Member(Source{{12, 34}}, "m", GetParam().type(*this)),
diff --git a/src/tint/lang/wgsl/resolver/resolver.cc b/src/tint/lang/wgsl/resolver/resolver.cc
index df0c53d..3552a7c 100644
--- a/src/tint/lang/wgsl/resolver/resolver.cc
+++ b/src/tint/lang/wgsl/resolver/resolver.cc
@@ -155,7 +155,7 @@
builder_->Sem().SetModule(mod);
const bool disable_uniformity_analysis =
- enabled_extensions_.Contains(core::Extension::kChromiumDisableUniformityAnalysis);
+ enabled_extensions_.Contains(wgsl::Extension::kChromiumDisableUniformityAnalysis);
if (result && !disable_uniformity_analysis) {
// Run the uniformity analysis, which requires a complete semantic module.
if (!AnalyzeUniformity(builder_, dependencies_)) {
@@ -1606,10 +1606,10 @@
}
if (TINT_UNLIKELY(
address_space_expr->Value() == core::AddressSpace::kPixelLocal &&
- !enabled_extensions_.Contains(core::Extension::kChromiumExperimentalPixelLocal))) {
+ !enabled_extensions_.Contains(wgsl::Extension::kChromiumExperimentalPixelLocal))) {
StringStream err;
err << "'pixel_local' address space requires the '"
- << core::Extension::kChromiumExperimentalPixelLocal << "' extension enabled";
+ << wgsl::Extension::kChromiumExperimentalPixelLocal << "' extension enabled";
AddError(err.str(), expr->source);
return nullptr;
}
@@ -3973,28 +3973,28 @@
if (control.rule_name->category) {
Mark(control.rule_name->category);
if (control.rule_name->category->symbol.Name() == "chromium") {
- auto rule = core::ParseChromiumDiagnosticRule(name);
- if (rule != core::ChromiumDiagnosticRule::kUndefined) {
+ auto rule = wgsl::ParseChromiumDiagnosticRule(name);
+ if (rule != wgsl::ChromiumDiagnosticRule::kUndefined) {
validator_.DiagnosticFilters().Set(rule, control.severity);
} else {
StringStream ss;
ss << "unrecognized diagnostic rule 'chromium." << name << "'\n";
tint::SuggestAlternativeOptions opts;
opts.prefix = "chromium.";
- tint::SuggestAlternatives(name, core::kChromiumDiagnosticRuleStrings, ss, opts);
+ tint::SuggestAlternatives(name, wgsl::kChromiumDiagnosticRuleStrings, ss, opts);
AddWarning(ss.str(), control.rule_name->source);
}
}
return true;
}
- auto rule = core::ParseCoreDiagnosticRule(name);
- if (rule != core::CoreDiagnosticRule::kUndefined) {
+ auto rule = wgsl::ParseCoreDiagnosticRule(name);
+ if (rule != wgsl::CoreDiagnosticRule::kUndefined) {
validator_.DiagnosticFilters().Set(rule, control.severity);
} else {
StringStream ss;
ss << "unrecognized diagnostic rule '" << name << "'\n";
- tint::SuggestAlternatives(name, core::kCoreDiagnosticRuleStrings, ss);
+ tint::SuggestAlternatives(name, wgsl::kCoreDiagnosticRuleStrings, ss);
AddWarning(ss.str(), control.rule_name->source);
}
return true;
diff --git a/src/tint/lang/wgsl/resolver/resolver.h b/src/tint/lang/wgsl/resolver/resolver.h
index 506beae..77b5d9e 100644
--- a/src/tint/lang/wgsl/resolver/resolver.h
+++ b/src/tint/lang/wgsl/resolver/resolver.h
@@ -616,7 +616,7 @@
DependencyGraph dependencies_;
SemHelper sem_;
Validator validator_;
- core::Extensions enabled_extensions_;
+ wgsl::Extensions enabled_extensions_;
Vector<sem::Function*, 8> entry_points_;
Hashmap<const core::type::Type*, const Source*, 8> atomic_composite_info_;
tint::Bitset<0> marked_;
diff --git a/src/tint/lang/wgsl/resolver/side_effects_test.cc b/src/tint/lang/wgsl/resolver/side_effects_test.cc
index cb3602c..ea3a68a 100644
--- a/src/tint/lang/wgsl/resolver/side_effects_test.cc
+++ b/src/tint/lang/wgsl/resolver/side_effects_test.cc
@@ -16,10 +16,10 @@
#include "gtest/gtest.h"
#include "src/tint/lang/core/address_space.h"
-#include "src/tint/lang/core/extension.h"
#include "src/tint/lang/core/fluent_types.h"
#include "src/tint/lang/core/texel_format.h"
#include "src/tint/lang/core/type/texture_dimension.h"
+#include "src/tint/lang/wgsl/extension.h"
#include "src/tint/lang/wgsl/resolver/resolver_helper_test.h"
#include "src/tint/lang/wgsl/sem/index_accessor_expression.h"
#include "src/tint/lang/wgsl/sem/member_accessor_expression.h"
@@ -167,7 +167,7 @@
using SideEffectsBuiltinTest = resolver::ResolverTestWithParam<Case>;
TEST_P(SideEffectsBuiltinTest, Test) {
- Enable(tint::core::Extension::kChromiumExperimentalDp4A);
+ Enable(tint::wgsl::Extension::kChromiumExperimentalDp4A);
auto& c = GetParam();
uint32_t next_binding = 0;
diff --git a/src/tint/lang/wgsl/resolver/struct_layout_test.cc b/src/tint/lang/wgsl/resolver/struct_layout_test.cc
index 529f673..a7904ab 100644
--- a/src/tint/lang/wgsl/resolver/struct_layout_test.cc
+++ b/src/tint/lang/wgsl/resolver/struct_layout_test.cc
@@ -57,7 +57,7 @@
}
TEST_F(ResolverStructLayoutTest, ScalarsWithF16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* s = Structure("S", Vector{
Member("a", ty.f32()),
@@ -136,7 +136,7 @@
}
TEST_F(ResolverStructLayoutTest, ImplicitStrideArrayStaticSize) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* s = Structure("S", Vector{
Member("a", ty.array<i32, 3>()),
@@ -176,7 +176,7 @@
}
TEST_F(ResolverStructLayoutTest, ExplicitStrideArrayStaticSize) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* s = Structure("S", Vector{
Member("a", ty.array<i32, 3>(Vector{Stride(8)})),
@@ -337,7 +337,7 @@
}
TEST_F(ResolverStructLayoutTest, Matrix) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* s = Structure("S", Vector{
Member("a_1", ty.mat2x2<f32>()),
diff --git a/src/tint/lang/wgsl/resolver/subgroups_extension_test.cc b/src/tint/lang/wgsl/resolver/subgroups_extension_test.cc
index b3f9c00..2a4ba1b 100644
--- a/src/tint/lang/wgsl/resolver/subgroups_extension_test.cc
+++ b/src/tint/lang/wgsl/resolver/subgroups_extension_test.cc
@@ -54,7 +54,7 @@
// Using an i32 for a subgroup_size builtin input should fail.
TEST_F(ResolverSubgroupsExtensionTest, SubgroupSizeI32Error) {
- Enable(core::Extension::kChromiumExperimentalSubgroups);
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroups);
Structure("Inputs",
Vector{
Member("a", ty.i32(), Vector{Builtin(core::BuiltinValue::kSubgroupSize)}),
@@ -66,7 +66,7 @@
// Using an i32 for a subgroup_invocation_id builtin input should fail.
TEST_F(ResolverSubgroupsExtensionTest, SubgroupInvocationIdI32Error) {
- Enable(core::Extension::kChromiumExperimentalSubgroups);
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroups);
Structure("Inputs",
Vector{
Member("a", ty.i32(), Vector{Builtin(core::BuiltinValue::kSubgroupInvocationId)}),
@@ -78,7 +78,7 @@
// Using builtin(subgroup_size) for anything other than a compute shader input should fail.
TEST_F(ResolverSubgroupsExtensionTest, SubgroupSizeFragmentShader) {
- Enable(core::Extension::kChromiumExperimentalSubgroups);
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroups);
Func("main",
Vector{Param("size", ty.u32(), Vector{Builtin(core::BuiltinValue::kSubgroupSize)})},
ty.void_(), Empty, Vector{Stage(ast::PipelineStage::kFragment)});
@@ -90,7 +90,7 @@
// Using builtin(subgroup_invocation_id) for anything other than a compute shader input should fail.
TEST_F(ResolverSubgroupsExtensionTest, SubgroupInvocationIdFragmentShader) {
- Enable(core::Extension::kChromiumExperimentalSubgroups);
+ Enable(wgsl::Extension::kChromiumExperimentalSubgroups);
Func("main",
Vector{Param("id", ty.u32(), Vector{Builtin(core::BuiltinValue::kSubgroupInvocationId)})},
ty.void_(), Empty, Vector{Stage(ast::PipelineStage::kFragment)});
diff --git a/src/tint/lang/wgsl/resolver/type_validation_test.cc b/src/tint/lang/wgsl/resolver/type_validation_test.cc
index bdc168c..46284e1 100644
--- a/src/tint/lang/wgsl/resolver/type_validation_test.cc
+++ b/src/tint/lang/wgsl/resolver/type_validation_test.cc
@@ -977,7 +977,7 @@
using SampledTextureTypeTest = ResolverTestWithParam<TypeParams>;
TEST_P(SampledTextureTypeTest, All) {
auto& params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("a",
ty.sampled_texture(Source{{12, 34}}, core::type::TextureDimension::k2d,
params.type_func(*this)),
@@ -997,7 +997,7 @@
using MultisampledTextureTypeTest = ResolverTestWithParam<TypeParams>;
TEST_P(MultisampledTextureTypeTest, All) {
auto& params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("a",
ty.multisampled_texture(Source{{12, 34}}, core::type::TextureDimension::k2d,
params.type_func(*this)),
@@ -1175,7 +1175,7 @@
// @group(0) @binding(0)
// var a : texture_storage_1d<r32uint, read>;
- Enable(core::Extension::kChromiumExperimentalReadWriteStorageTexture);
+ Enable(wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture);
auto st = ty.storage_texture(Source{{12, 34}}, core::type::TextureDimension::k1d,
core::TexelFormat::kR32Uint, core::Access::kRead);
@@ -1204,7 +1204,7 @@
// @group(0) @binding(0)
// var a : texture_storage_1d<r32uint, read_write>;
- Enable(core::Extension::kChromiumExperimentalReadWriteStorageTexture);
+ Enable(wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture);
auto st = ty.storage_texture(Source{{12, 34}}, core::type::TextureDimension::k1d,
core::TexelFormat::kR32Uint, core::Access::kReadWrite);
@@ -1233,7 +1233,7 @@
// var a : matNxM<EL_TY>;
auto& params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
ast::Type el_ty = params.elem_ty(*this);
@@ -1273,7 +1273,7 @@
// var a : matNxM<EL_TY>;
auto& params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
ast::Type el_ty = params.elem_ty(*this);
@@ -1318,7 +1318,7 @@
// var a : vecN<EL_TY>;
auto& params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("a", ty.vec(params.elem_ty(*this), params.width), core::AddressSpace::kPrivate);
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1352,7 +1352,7 @@
// var a : vecN<EL_TY>;
auto& params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("a", ty.vec(Source{{12, 34}}, params.elem_ty(*this), params.width),
core::AddressSpace::kPrivate);
@@ -1390,7 +1390,7 @@
// explicit = aliased;
auto& params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Var("aliased", ty(params.alias))),
Decl(Var("explicit", params.type(*this))), //
@@ -1402,7 +1402,7 @@
// var v : vecN<T> = vecTN();
auto& params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Decl(Var("v", params.type(*this), Call(params.alias))));
EXPECT_TRUE(r()->Resolve()) << r()->error();
@@ -1450,7 +1450,7 @@
// enable f16;
// var<private> v : f32<true>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
GlobalVar("v", core::AddressSpace::kPrivate, ty(Source{{12, 34}}, GetParam(), true));
EXPECT_FALSE(r()->Resolve());
@@ -1463,7 +1463,7 @@
// alias A = f32;
// var<private> v : A<true>;
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Alias(Source{{56, 78}}, "A", ty(GetParam()));
GlobalVar("v", core::AddressSpace::kPrivate, ty(Source{{12, 34}}, "A", true));
diff --git a/src/tint/lang/wgsl/resolver/uniformity.cc b/src/tint/lang/wgsl/resolver/uniformity.cc
index 5550687..9b8385b 100644
--- a/src/tint/lang/wgsl/resolver/uniformity.cc
+++ b/src/tint/lang/wgsl/resolver/uniformity.cc
@@ -78,7 +78,7 @@
CallSiteRequiredToBeUniform,
CallSiteNoRestriction,
} tag;
- core::DiagnosticSeverity severity = core::DiagnosticSeverity::kUndefined;
+ wgsl::DiagnosticSeverity severity = wgsl::DiagnosticSeverity::kUndefined;
};
/// FunctionTag describes a functions effects on uniformity.
@@ -94,7 +94,7 @@
ParameterContentsRequiredToBeUniform,
ParameterNoRestriction,
} tag;
- core::DiagnosticSeverity severity = core::DiagnosticSeverity::kUndefined;
+ wgsl::DiagnosticSeverity severity = wgsl::DiagnosticSeverity::kUndefined;
};
/// Node represents a node in the graph of control flow and value nodes within the analysis of a
@@ -264,13 +264,13 @@
};
/// @returns the RequiredToBeUniform node that corresponds to `severity`
- Node* RequiredToBeUniform(core::DiagnosticSeverity severity) {
+ Node* RequiredToBeUniform(wgsl::DiagnosticSeverity severity) {
switch (severity) {
- case core::DiagnosticSeverity::kError:
+ case wgsl::DiagnosticSeverity::kError:
return required_to_be_uniform_error;
- case core::DiagnosticSeverity::kWarning:
+ case wgsl::DiagnosticSeverity::kWarning:
return required_to_be_uniform_warning;
- case core::DiagnosticSeverity::kInfo:
+ case wgsl::DiagnosticSeverity::kInfo:
return required_to_be_uniform_info;
default:
TINT_UNREACHABLE() << "unhandled severity";
@@ -460,7 +460,7 @@
// Look at which nodes are reachable from "RequiredToBeUniform".
{
UniqueVector<Node*, 4> reachable;
- auto traverse = [&](core::DiagnosticSeverity severity) {
+ auto traverse = [&](wgsl::DiagnosticSeverity severity) {
Traverse(current_function_->RequiredToBeUniform(severity), &reachable);
if (reachable.Contains(current_function_->may_be_non_uniform)) {
MakeError(*current_function_, current_function_->may_be_non_uniform, severity);
@@ -483,11 +483,11 @@
}
return true;
};
- if (!traverse(core::DiagnosticSeverity::kError)) {
+ if (!traverse(wgsl::DiagnosticSeverity::kError)) {
return false;
} else {
- if (traverse(core::DiagnosticSeverity::kWarning)) {
- traverse(core::DiagnosticSeverity::kInfo);
+ if (traverse(wgsl::DiagnosticSeverity::kWarning)) {
+ traverse(wgsl::DiagnosticSeverity::kInfo);
}
}
}
@@ -1537,8 +1537,8 @@
result->type = Node::kFunctionCallReturnValue;
Node* cf_after = CreateNode({"CF_after_", name}, call);
- auto default_severity = kUniformityFailuresAsError ? core::DiagnosticSeverity::kError
- : core::DiagnosticSeverity::kWarning;
+ auto default_severity = kUniformityFailuresAsError ? wgsl::DiagnosticSeverity::kError
+ : wgsl::DiagnosticSeverity::kWarning;
// Get tags for the callee.
CallSiteTag callsite_tag = {CallSiteTag::CallSiteNoRestriction};
@@ -1560,8 +1560,8 @@
builtin->Type() == core::Function::kTextureSampleCompare) {
// Get the severity of derivative uniformity violations in this context.
auto severity = sem_.DiagnosticSeverity(
- call, core::CoreDiagnosticRule::kDerivativeUniformity);
- if (severity != core::DiagnosticSeverity::kOff) {
+ call, wgsl::CoreDiagnosticRule::kDerivativeUniformity);
+ if (severity != wgsl::DiagnosticSeverity::kOff) {
callsite_tag = {CallSiteTag::CallSiteRequiredToBeUniform, severity};
}
function_tag = ReturnValueMayBeNonUniform;
@@ -1734,7 +1734,7 @@
/// order to find a call to a builtin function that requires uniformity with the given severity.
const ast::CallExpression* FindBuiltinThatRequiresUniformity(
const ast::CallExpression* call,
- core::DiagnosticSeverity severity) {
+ wgsl::DiagnosticSeverity severity) {
auto* target = SemCall(call)->Target();
if (target->Is<sem::Builtin>()) {
// This is a call to a builtin, so we must be done.
@@ -1893,11 +1893,11 @@
/// @param function the function that the diagnostic is being produced for
/// @param source_node the node that has caused a uniformity issue in `function`
/// @param severity the severity of the diagnostic
- void MakeError(FunctionInfo& function, Node* source_node, core::DiagnosticSeverity severity) {
+ void MakeError(FunctionInfo& function, Node* source_node, wgsl::DiagnosticSeverity severity) {
// Helper to produce a diagnostic message, as a note or with the global failure severity.
auto report = [&](Source source, std::string msg, bool note) {
diag::Diagnostic error{};
- error.severity = note ? diag::Severity::Note : core::ToSeverity(severity);
+ error.severity = note ? diag::Severity::Note : wgsl::ToSeverity(severity);
error.system = diag::System::Resolver;
error.source = source;
error.message = msg;
diff --git a/src/tint/lang/wgsl/resolver/uniformity_test.cc b/src/tint/lang/wgsl/resolver/uniformity_test.cc
index e7b7337..36568e9 100644
--- a/src/tint/lang/wgsl/resolver/uniformity_test.cc
+++ b/src/tint/lang/wgsl/resolver/uniformity_test.cc
@@ -8329,16 +8329,16 @@
class UniformityAnalysisDiagnosticFilterTest
: public UniformityAnalysisTestBase,
- public ::testing::TestWithParam<core::DiagnosticSeverity> {
+ public ::testing::TestWithParam<wgsl::DiagnosticSeverity> {
protected:
// TODO(jrprice): Remove this in favour of tint::ToString() when we change "note" to "info".
- const char* ToStr(core::DiagnosticSeverity severity) {
+ const char* ToStr(wgsl::DiagnosticSeverity severity) {
switch (severity) {
- case core::DiagnosticSeverity::kError:
+ case wgsl::DiagnosticSeverity::kError:
return "error";
- case core::DiagnosticSeverity::kWarning:
+ case wgsl::DiagnosticSeverity::kWarning:
return "warning";
- case core::DiagnosticSeverity::kInfo:
+ case wgsl::DiagnosticSeverity::kInfo:
return "note";
default:
return "<undefined>";
@@ -8362,9 +8362,9 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8390,8 +8390,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8416,8 +8416,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8439,8 +8439,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8462,8 +8462,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8485,8 +8485,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8511,8 +8511,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8534,8 +8534,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8560,8 +8560,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8587,8 +8587,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8614,8 +8614,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8641,8 +8641,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8668,8 +8668,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8695,8 +8695,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8722,8 +8722,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8746,8 +8746,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8774,8 +8774,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8802,8 +8802,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8825,8 +8825,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8851,8 +8851,8 @@
}
)";
- RunTest(ss.str(), param != core::DiagnosticSeverity::kError);
- if (param == core::DiagnosticSeverity::kOff) {
+ RunTest(ss.str(), param != wgsl::DiagnosticSeverity::kError);
+ if (param == wgsl::DiagnosticSeverity::kOff) {
EXPECT_TRUE(error_.empty());
} else {
StringStream err;
@@ -8863,10 +8863,10 @@
INSTANTIATE_TEST_SUITE_P(UniformityAnalysisTest,
UniformityAnalysisDiagnosticFilterTest,
- ::testing::Values(core::DiagnosticSeverity::kError,
- core::DiagnosticSeverity::kWarning,
- core::DiagnosticSeverity::kInfo,
- core::DiagnosticSeverity::kOff));
+ ::testing::Values(wgsl::DiagnosticSeverity::kError,
+ wgsl::DiagnosticSeverity::kWarning,
+ wgsl::DiagnosticSeverity::kInfo,
+ wgsl::DiagnosticSeverity::kOff));
TEST_F(UniformityAnalysisDiagnosticFilterTest, AttributeOnFunction_CalledByAnotherFunction) {
std::string src = R"(
diff --git a/src/tint/lang/wgsl/resolver/validator.cc b/src/tint/lang/wgsl/resolver/validator.cc
index 235c625..c21c6d1 100644
--- a/src/tint/lang/wgsl/resolver/validator.cc
+++ b/src/tint/lang/wgsl/resolver/validator.cc
@@ -151,7 +151,7 @@
Validator::Validator(
ProgramBuilder* builder,
SemHelper& sem,
- const core::Extensions& enabled_extensions,
+ const wgsl::Extensions& enabled_extensions,
const Hashmap<const core::type::Type*, const Source*, 8>& atomic_composite_info,
Hashset<TypeAndAddressSpace, 8>& valid_type_storage_layouts)
: symbols_(builder->Symbols()),
@@ -161,10 +161,10 @@
atomic_composite_info_(atomic_composite_info),
valid_type_storage_layouts_(valid_type_storage_layouts) {
// Set default severities for filterable diagnostic rules.
- diagnostic_filters_.Set(core::CoreDiagnosticRule::kDerivativeUniformity,
- core::DiagnosticSeverity::kError);
- diagnostic_filters_.Set(core::ChromiumDiagnosticRule::kUnreachableCode,
- core::DiagnosticSeverity::kWarning);
+ diagnostic_filters_.Set(wgsl::CoreDiagnosticRule::kDerivativeUniformity,
+ wgsl::DiagnosticSeverity::kError);
+ diagnostic_filters_.Set(wgsl::ChromiumDiagnosticRule::kUnreachableCode,
+ wgsl::DiagnosticSeverity::kWarning);
}
Validator::~Validator() = default;
@@ -181,18 +181,18 @@
diagnostics_.add_note(diag::System::Resolver, msg, source);
}
-bool Validator::AddDiagnostic(core::DiagnosticRule rule,
+bool Validator::AddDiagnostic(wgsl::DiagnosticRule rule,
const std::string& msg,
const Source& source) const {
auto severity = diagnostic_filters_.Get(rule);
- if (severity != core::DiagnosticSeverity::kOff) {
+ if (severity != wgsl::DiagnosticSeverity::kOff) {
diag::Diagnostic d{};
d.severity = ToSeverity(severity);
d.system = diag::System::Resolver;
d.source = source;
d.message = msg;
diagnostics_.add(std::move(d));
- if (severity == core::DiagnosticSeverity::kError) {
+ if (severity == wgsl::DiagnosticSeverity::kError) {
return false;
}
}
@@ -315,7 +315,7 @@
switch (t->access()) {
case core::Access::kRead:
if (!enabled_extensions_.Contains(
- core::Extension::kChromiumExperimentalReadWriteStorageTexture)) {
+ wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture)) {
AddError(
"read-only storage textures require the "
"chromium_experimental_read_write_storage_texture extension to be enabled",
@@ -325,7 +325,7 @@
break;
case core::Access::kReadWrite:
if (!enabled_extensions_.Contains(
- core::Extension::kChromiumExperimentalReadWriteStorageTexture)) {
+ wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture)) {
AddError(
"read-write storage textures require the "
"chromium_experimental_read_write_storage_texture extension to be enabled",
@@ -472,7 +472,7 @@
// Validate that member is at a valid byte offset
if (m->Offset() % required_align != 0 &&
!enabled_extensions_.Contains(
- core::Extension::kChromiumInternalRelaxedUniformLayout)) {
+ wgsl::Extension::kChromiumInternalRelaxedUniformLayout)) {
AddError("the offset of a struct member of type '" +
m->Type()->UnwrapRef()->FriendlyName() + "' in address space '" +
tint::ToString(address_space) + "' must be a multiple of " +
@@ -500,7 +500,7 @@
const uint32_t prev_to_curr_offset = m->Offset() - prev_member->Offset();
if (prev_to_curr_offset % 16 != 0 &&
!enabled_extensions_.Contains(
- core::Extension::kChromiumInternalRelaxedUniformLayout)) {
+ wgsl::Extension::kChromiumInternalRelaxedUniformLayout)) {
AddError(
"uniform storage requires that the number of bytes between the start of "
"the previous member of type struct and the current member be a multiple "
@@ -533,7 +533,7 @@
}
if (address_space == core::AddressSpace::kUniform &&
- !enabled_extensions_.Contains(core::Extension::kChromiumInternalRelaxedUniformLayout)) {
+ !enabled_extensions_.Contains(wgsl::Extension::kChromiumInternalRelaxedUniformLayout)) {
// We already validated that this array member is itself aligned to 16 bytes above, so
// we only need to validate that stride is a multiple of 16 bytes.
if (arr->Stride() % 16 != 0) {
@@ -803,7 +803,7 @@
case core::AddressSpace::kUniform:
case core::AddressSpace::kWorkgroup:
ok = enabled_extensions_.Contains(
- core::Extension::kChromiumExperimentalFullPtrParameters);
+ wgsl::Extension::kChromiumExperimentalFullPtrParameters);
break;
default:
break;
@@ -947,7 +947,7 @@
break;
case core::BuiltinValue::kSubgroupInvocationId:
case core::BuiltinValue::kSubgroupSize:
- if (!enabled_extensions_.Contains(core::Extension::kChromiumExperimentalSubgroups)) {
+ if (!enabled_extensions_.Contains(wgsl::Extension::kChromiumExperimentalSubgroups)) {
StringStream err;
err << "use of @builtin(" << builtin
<< ") attribute requires enabling extension 'chromium_experimental_subgroups'";
@@ -1434,7 +1434,7 @@
bool Validator::Statements(VectorRef<const ast::Statement*> stmts) const {
for (auto* stmt : stmts) {
if (!sem_.Get(stmt)->IsReachable()) {
- if (!AddDiagnostic(core::ChromiumDiagnosticRule::kUnreachableCode,
+ if (!AddDiagnostic(wgsl::ChromiumDiagnosticRule::kUnreachableCode,
"code is unreachable", stmt->source)) {
return false;
}
@@ -1740,7 +1740,7 @@
}
const auto extension = builtin->RequiredExtension();
- if (extension == core::Extension::kUndefined) {
+ if (extension == wgsl::Extension::kUndefined) {
return true;
}
@@ -1756,7 +1756,7 @@
bool Validator::CheckF16Enabled(const Source& source) const {
// Validate if f16 type is allowed.
- if (!enabled_extensions_.Contains(core::Extension::kF16)) {
+ if (!enabled_extensions_.Contains(wgsl::Extension::kF16)) {
AddError("f16 type used without 'f16' extension enabled", source);
return false;
}
@@ -1807,7 +1807,7 @@
if (param_type->Is<core::type::Pointer>() &&
!enabled_extensions_.Contains(
- core::Extension::kChromiumExperimentalFullPtrParameters)) {
+ wgsl::Extension::kChromiumExperimentalFullPtrParameters)) {
// https://gpuweb.github.io/gpuweb/wgsl/#function-restriction
// Each argument of pointer type to a user-defined function must have the same memory
// view as its root identifier.
@@ -2294,7 +2294,7 @@
bool Validator::IndexAttribute(const ast::IndexAttribute* index_attr,
ast::PipelineStage stage) const {
- if (!enabled_extensions_.Contains(core::Extension::kChromiumInternalDualSourceBlending)) {
+ if (!enabled_extensions_.Contains(wgsl::Extension::kChromiumInternalDualSourceBlending)) {
AddError(
"use of '@index' attribute requires enabling extension "
"'chromium_internal_dual_source_blending'",
@@ -2658,7 +2658,7 @@
break;
case core::AddressSpace::kPushConstant:
if (TINT_UNLIKELY(!enabled_extensions_.Contains(
- core::Extension::kChromiumExperimentalPushConstant) &&
+ wgsl::Extension::kChromiumExperimentalPushConstant) &&
IsValidationEnabled(attributes,
ast::DisabledValidation::kIgnoreAddressSpace))) {
AddError(
diff --git a/src/tint/lang/wgsl/resolver/validator.h b/src/tint/lang/wgsl/resolver/validator.h
index a4035a3..8e80916 100644
--- a/src/tint/lang/wgsl/resolver/validator.h
+++ b/src/tint/lang/wgsl/resolver/validator.h
@@ -85,7 +85,7 @@
};
/// DiagnosticFilterStack is a scoped stack of diagnostic filters.
-using DiagnosticFilterStack = ScopeStack<core::DiagnosticRule, core::DiagnosticSeverity>;
+using DiagnosticFilterStack = ScopeStack<wgsl::DiagnosticRule, wgsl::DiagnosticSeverity>;
/// Validation logic for various ast nodes. The validations in general should
/// be shallow and depend on the resolver to call on children. The validations
@@ -101,7 +101,7 @@
/// @param valid_type_storage_layouts a set of validated type layouts by address space
Validator(ProgramBuilder* builder,
SemHelper& helper,
- const core::Extensions& enabled_extensions,
+ const wgsl::Extensions& enabled_extensions,
const Hashmap<const core::type::Type*, const Source*, 8>& atomic_composite_info,
Hashset<TypeAndAddressSpace, 8>& valid_type_storage_layouts);
~Validator();
@@ -126,7 +126,7 @@
/// @param msg the diagnostic message
/// @param source the diagnostic source
/// @returns false if the diagnostic is an error for the given trigger rule
- bool AddDiagnostic(core::DiagnosticRule rule,
+ bool AddDiagnostic(wgsl::DiagnosticRule rule,
const std::string& msg,
const Source& source) const;
@@ -566,7 +566,7 @@
diag::List& diagnostics_;
SemHelper& sem_;
DiagnosticFilterStack diagnostic_filters_;
- const core::Extensions& enabled_extensions_;
+ const wgsl::Extensions& enabled_extensions_;
const Hashmap<const core::type::Type*, const Source*, 8>& atomic_composite_info_;
Hashset<TypeAndAddressSpace, 8>& valid_type_storage_layouts_;
};
diff --git a/src/tint/lang/wgsl/resolver/value_constructor_validation_test.cc b/src/tint/lang/wgsl/resolver/value_constructor_validation_test.cc
index 63fe3b1..0dcd3a1 100644
--- a/src/tint/lang/wgsl/resolver/value_constructor_validation_test.cc
+++ b/src/tint/lang/wgsl/resolver/value_constructor_validation_test.cc
@@ -79,7 +79,7 @@
// }
auto& params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* initializer_expr = params.create_rhs_ast_value(*this, 0);
@@ -180,7 +180,7 @@
// }
auto& params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Func("foo", tint::Empty, params.create_rhs_ast_type(*this),
Vector{Return(Call(params.create_rhs_ast_type(*this)))}, {});
@@ -337,7 +337,7 @@
TEST_P(ConversionConstructorValidTest, All) {
auto& params = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
// var a : <lhs_type1> = <lhs_type2>(<rhs_type>(<rhs_value_expr>));
auto lhs_type1 = params.lhs_type(*this);
@@ -443,7 +443,7 @@
<< FriendlyName(rhs_type) << "(<rhs value expr>))";
SCOPED_TRACE(ss.str());
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* a = Var("a", lhs_type1, Call(lhs_type2, Call(rhs_type, rhs_value_expr)));
@@ -944,7 +944,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, F16_Success) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<f16>(Expr(1.5_h));
WrapInFunction(expr);
@@ -1000,7 +1000,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, Convert_u32_to_f16_Success) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<f16>(123_u);
WrapInFunction(expr);
@@ -1020,7 +1020,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, Convert_f16_to_f32_Success) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* expr = Call<f32>(123_h);
WrapInFunction(expr);
@@ -1052,7 +1052,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, Vec2F16_Error_ScalarArgumentTypeMismatch) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<vec2<f16>>(Source{{12, 34}}, 1_h, 2_f));
@@ -1175,7 +1175,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, Vec2F16_Success_Scalar) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* tc = Call<vec2<f16>>(1_h, 1_h);
WrapInFunction(tc);
@@ -1309,7 +1309,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, Vec3F16_Error_ScalarArgumentTypeMismatch) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<vec3<f16>>(Source{{12, 34}}, 1_h, 2_h, 3_f));
@@ -1451,7 +1451,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, Vec3F16_Success_Scalar) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* tc = Call<vec3<f16>>(1_h, 1_h, 1_h);
WrapInFunction(tc);
@@ -1632,7 +1632,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, Vec4F16_Error_ScalarArgumentTypeMismatch) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<vec4<f16>>(Source{{12, 34}}, 1_h, 1_h, 1_f, 1_h));
@@ -1800,7 +1800,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, Vec4F16_Success_Scalar) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* tc = Call<vec4<f16>>(1_h, 1_h, 1_h, 1_h);
WrapInFunction(tc);
@@ -2036,7 +2036,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, InferVec2ElementTypeFromScalars) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec2_bool = Call<vec2<Infer>>(true, false);
auto* vec2_i32 = Call<vec2<Infer>>(1_i, 2_i);
@@ -2065,7 +2065,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, InferVec2ElementTypeFromVec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec2_bool = Call<vec2<Infer>>(Call<vec2<bool>>(true, false));
auto* vec2_i32 = Call<vec2<Infer>>(Call<vec2<i32>>(1_i, 2_i));
@@ -2094,7 +2094,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, InferVec3ElementTypeFromScalars) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec3_bool = Call<vec3<Infer>>(true, false, true);
auto* vec3_i32 = Call<vec3<Infer>>(1_i, 2_i, 3_i);
@@ -2123,7 +2123,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, InferVec3ElementTypeFromVec3) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec3_bool = Call<vec3<Infer>>(Call<vec3<bool>>(true, false, true));
auto* vec3_i32 = Call<vec3<Infer>>(Call<vec3<i32>>(1_i, 2_i, 3_i));
@@ -2152,7 +2152,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, InferVec3ElementTypeFromScalarAndVec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec3_bool = Call<vec3<Infer>>(true, Call<vec2<bool>>(false, true));
auto* vec3_i32 = Call<vec3<Infer>>(1_i, Call<vec2<i32>>(2_i, 3_i));
@@ -2181,7 +2181,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, InferVec4ElementTypeFromScalars) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec4_bool = Call<vec4<Infer>>(true, false, true, false);
auto* vec4_i32 = Call<vec4<Infer>>(1_i, 2_i, 3_i, 4_i);
@@ -2210,7 +2210,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, InferVec4ElementTypeFromVec4) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec4_bool = Call<vec4<Infer>>(Call<vec4<bool>>(true, false, true, false));
auto* vec4_i32 = Call<vec4<Infer>>(Call<vec4<i32>>(1_i, 2_i, 3_i, 4_i));
@@ -2239,7 +2239,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, InferVec4ElementTypeFromScalarAndVec3) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec4_bool = Call<vec4<Infer>>(true, Call<vec3<bool>>(false, true, false));
auto* vec4_i32 = Call<vec4<Infer>>(1_i, Call<vec3<i32>>(2_i, 3_i, 4_i));
@@ -2268,7 +2268,7 @@
}
TEST_F(ResolverValueConstructorValidationTest, InferVec4ElementTypeFromVec2AndVec2) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* vec4_bool =
Call<vec4<Infer>>(Call<vec2<bool>>(true, false), Call<vec2<bool>>(true, false));
@@ -2425,7 +2425,7 @@
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
const std::string element_type_name = param.get_element_type_name();
StringStream args_tys;
@@ -2454,7 +2454,7 @@
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
const std::string element_type_name = param.get_element_type_name();
StringStream args_tys;
@@ -2482,7 +2482,7 @@
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
const std::string element_type_name = param.get_element_type_name();
StringStream args_tys;
@@ -2511,7 +2511,7 @@
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
const std::string element_type_name = param.get_element_type_name();
StringStream args_tys;
@@ -2539,7 +2539,7 @@
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
StringStream args_tys;
Vector<const ast::Expression*, 8> args;
@@ -2567,7 +2567,7 @@
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
StringStream args_tys;
Vector<const ast::Expression*, 8> args;
@@ -2599,7 +2599,7 @@
return;
}
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
const std::string element_type_name = param.get_element_type_name();
StringStream args_tys;
@@ -2637,7 +2637,7 @@
return;
}
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
const std::string element_type_name = param.get_element_type_name();
StringStream args_tys;
@@ -2669,7 +2669,7 @@
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
ast::Type matrix_type = param.create_mat_ast_type(*this);
auto* tc = Call(Source{{12, 40}}, matrix_type);
@@ -2684,7 +2684,7 @@
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Vector<const ast::Expression*, 4> args;
for (uint32_t i = 0; i < param.columns; i++) {
@@ -2705,7 +2705,7 @@
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Vector<const ast::Expression*, 16> args;
for (uint32_t i = 0; i < param.columns * param.rows; i++) {
@@ -2725,7 +2725,7 @@
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* elem_type_alias = Alias("ElemType", param.create_element_ast_type(*this));
@@ -2755,7 +2755,7 @@
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* elem_type_alias = Alias("ElemType", param.create_element_ast_type(*this));
@@ -2786,7 +2786,7 @@
TEST_P(MatrixConstructorTest, ArgumentTypeAlias_Success) {
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
ast::Type matrix_type = param.create_mat_ast_type(*this);
ast::Type vec_type = param.create_column_ast_type(*this);
@@ -2806,7 +2806,7 @@
TEST_P(MatrixConstructorTest, ArgumentElementTypeAlias_Error) {
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
ast::Type matrix_type = param.create_mat_ast_type(*this);
auto* u32_type_alias = Alias("UnsignedInt", ty.u32());
@@ -2833,7 +2833,7 @@
TEST_P(MatrixConstructorTest, ArgumentElementTypeAlias_Success) {
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* elem_type_alias = Alias("ElemType", param.create_element_ast_type(*this));
@@ -2853,7 +2853,7 @@
TEST_P(MatrixConstructorTest, InferElementTypeFromVectors) {
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Vector<const ast::Expression*, 8> args;
for (uint32_t i = 0; i < param.columns; i++) {
@@ -2870,7 +2870,7 @@
TEST_P(MatrixConstructorTest, InferElementTypeFromScalars) {
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Vector<const ast::Expression*, 8> args;
for (uint32_t i = 0; i < param.rows * param.columns; i++) {
@@ -2886,7 +2886,7 @@
TEST_P(MatrixConstructorTest, CannotInferElementTypeFromVectors_Mismatch) {
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
StringStream err;
err << "12:34 error: no matching constructor for mat" << param.columns << "x" << param.rows
@@ -2917,7 +2917,7 @@
TEST_P(MatrixConstructorTest, CannotInferElementTypeFromScalars_Mismatch) {
const auto param = GetParam();
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
StringStream err;
err << "12:34 error: no matching constructor for mat" << param.columns << "x" << param.rows
@@ -3001,7 +3001,7 @@
auto& str_params = std::get<0>(param);
uint32_t N = std::get<1>(param);
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Vector<const ast::StructMember*, 16> members;
Vector<const ast::Expression*, 16> values;
@@ -3026,7 +3026,7 @@
auto& str_params = std::get<0>(param);
uint32_t N = std::get<1>(param);
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
Vector<const ast::StructMember*, 16> members;
Vector<const ast::Expression*, 8> values;
@@ -3059,7 +3059,7 @@
auto& ctor_params = std::get<1>(param);
uint32_t N = std::get<2>(param);
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
if (str_params.ast == ctor_params.ast) {
return;
diff --git a/src/tint/lang/wgsl/resolver/variable_test.cc b/src/tint/lang/wgsl/resolver/variable_test.cc
index 5951865..3e80a5e 100644
--- a/src/tint/lang/wgsl/resolver/variable_test.cc
+++ b/src/tint/lang/wgsl/resolver/variable_test.cc
@@ -42,7 +42,7 @@
// var a : A;
// }
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* S = Structure("S", Vector{Member("i", ty.i32())});
auto* A = Alias("A", ty.Of(S));
@@ -107,7 +107,7 @@
// var a : A = A(1);
// }
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* S = Structure("S", Vector{Member("i", ty.i32())});
auto* A = Alias("A", ty.Of(S));
@@ -400,7 +400,7 @@
// let p : pointer<function, i32> = &v;
// }
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* S = Structure("S", Vector{Member("i", ty.i32())});
auto* A = Alias("A", ty.Of(S));
diff --git a/src/tint/lang/wgsl/resolver/variable_validation_test.cc b/src/tint/lang/wgsl/resolver/variable_validation_test.cc
index 68d7b1e..cfcc146 100644
--- a/src/tint/lang/wgsl/resolver/variable_validation_test.cc
+++ b/src/tint/lang/wgsl/resolver/variable_validation_test.cc
@@ -506,7 +506,7 @@
TEST_F(ResolverVariableValidationTest, GlobalVariable_PushConstantWithInitializer) {
// enable chromium_experimental_push_constant;
// var<push_constant> a : u32 = 0u;
- Enable(core::Extension::kChromiumExperimentalPushConstant);
+ Enable(wgsl::Extension::kChromiumExperimentalPushConstant);
GlobalVar(Source{{1u, 2u}}, "a", ty.u32(), core::AddressSpace::kPushConstant,
Expr(Source{{3u, 4u}}, u32(0)));
diff --git a/src/tint/lang/wgsl/sem/BUILD.bazel b/src/tint/lang/wgsl/sem/BUILD.bazel
index a8d4579..75b0dae 100644
--- a/src/tint/lang/wgsl/sem/BUILD.bazel
+++ b/src/tint/lang/wgsl/sem/BUILD.bazel
@@ -99,6 +99,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -132,6 +133,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/resolver",
diff --git a/src/tint/lang/wgsl/sem/BUILD.cmake b/src/tint/lang/wgsl/sem/BUILD.cmake
index 11238c5..306ba36 100644
--- a/src/tint/lang/wgsl/sem/BUILD.cmake
+++ b/src/tint/lang/wgsl/sem/BUILD.cmake
@@ -98,6 +98,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_utils_containers
tint_utils_diagnostic
@@ -131,6 +132,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_resolver
diff --git a/src/tint/lang/wgsl/sem/BUILD.gn b/src/tint/lang/wgsl/sem/BUILD.gn
index ae039c1..87f0a99 100644
--- a/src/tint/lang/wgsl/sem/BUILD.gn
+++ b/src/tint/lang/wgsl/sem/BUILD.gn
@@ -102,6 +102,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -134,6 +135,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/resolver",
diff --git a/src/tint/lang/wgsl/sem/builtin.cc b/src/tint/lang/wgsl/sem/builtin.cc
index 3845778..a3e5fa5 100644
--- a/src/tint/lang/wgsl/sem/builtin.cc
+++ b/src/tint/lang/wgsl/sem/builtin.cc
@@ -92,17 +92,17 @@
return core::HasSideEffects(type_);
}
-core::Extension Builtin::RequiredExtension() const {
+wgsl::Extension Builtin::RequiredExtension() const {
if (IsDP4a()) {
- return core::Extension::kChromiumExperimentalDp4A;
+ return wgsl::Extension::kChromiumExperimentalDp4A;
}
if (IsSubgroup()) {
- return core::Extension::kChromiumExperimentalSubgroups;
+ return wgsl::Extension::kChromiumExperimentalSubgroups;
}
if (type_ == core::Function::kTextureBarrier) {
- return core::Extension::kChromiumExperimentalReadWriteStorageTexture;
+ return wgsl::Extension::kChromiumExperimentalReadWriteStorageTexture;
}
- return core::Extension::kUndefined;
+ return wgsl::Extension::kUndefined;
}
} // namespace tint::sem
diff --git a/src/tint/lang/wgsl/sem/builtin.h b/src/tint/lang/wgsl/sem/builtin.h
index 64ee5c2..1d0ce97 100644
--- a/src/tint/lang/wgsl/sem/builtin.h
+++ b/src/tint/lang/wgsl/sem/builtin.h
@@ -18,8 +18,8 @@
#include <string>
#include <vector>
-#include "src/tint/lang/core/extension.h"
#include "src/tint/lang/core/function.h"
+#include "src/tint/lang/wgsl/extension.h"
#include "src/tint/lang/wgsl/sem/call_target.h"
#include "src/tint/lang/wgsl/sem/pipeline_stage_set.h"
#include "src/tint/utils/math/hash.h"
@@ -101,8 +101,8 @@
bool HasSideEffects() const;
/// @returns the required extension of this builtin function. Returns
- /// core::Extension::kNone if no extension is required.
- core::Extension RequiredExtension() const;
+ /// wgsl::Extension::kNone if no extension is required.
+ wgsl::Extension RequiredExtension() const;
private:
const core::Function type_;
diff --git a/src/tint/lang/wgsl/sem/diagnostic_severity_test.cc b/src/tint/lang/wgsl/sem/diagnostic_severity_test.cc
index 3a464e9..adb17f2 100644
--- a/src/tint/lang/wgsl/sem/diagnostic_severity_test.cc
+++ b/src/tint/lang/wgsl/sem/diagnostic_severity_test.cc
@@ -27,7 +27,7 @@
/// using an attribute. Test that we correctly track the severity of the filter for the
/// functions and the statements with them.
/// @param global_severity the global severity of the "chromium.unreachable_code" filter
- void Run(core::DiagnosticSeverity global_severity) {
+ void Run(wgsl::DiagnosticSeverity global_severity) {
// @diagnostic(off, chromium.unreachable_code)
// fn foo() {
// @diagnostic(info, chromium.unreachable_code) {
@@ -74,22 +74,22 @@
// fn bar() {
// return;
// }
- auto rule = core::ChromiumDiagnosticRule::kUnreachableCode;
- auto func_severity = core::DiagnosticSeverity::kOff;
- auto block_severity = core::DiagnosticSeverity::kInfo;
- auto if_severity = core::DiagnosticSeverity::kError;
- auto if_body_severity = core::DiagnosticSeverity::kWarning;
- auto else_body_severity = core::DiagnosticSeverity::kInfo;
- auto switch_severity = core::DiagnosticSeverity::kError;
- auto switch_body_severity = core::DiagnosticSeverity::kOff;
- auto case_severity = core::DiagnosticSeverity::kWarning;
- auto for_severity = core::DiagnosticSeverity::kError;
- auto for_body_severity = core::DiagnosticSeverity::kWarning;
- auto loop_severity = core::DiagnosticSeverity::kWarning;
- auto loop_body_severity = core::DiagnosticSeverity::kOff;
- auto continuing_severity = core::DiagnosticSeverity::kInfo;
- auto while_severity = core::DiagnosticSeverity::kError;
- auto while_body_severity = core::DiagnosticSeverity::kWarning;
+ auto rule = wgsl::ChromiumDiagnosticRule::kUnreachableCode;
+ auto func_severity = wgsl::DiagnosticSeverity::kOff;
+ auto block_severity = wgsl::DiagnosticSeverity::kInfo;
+ auto if_severity = wgsl::DiagnosticSeverity::kError;
+ auto if_body_severity = wgsl::DiagnosticSeverity::kWarning;
+ auto else_body_severity = wgsl::DiagnosticSeverity::kInfo;
+ auto switch_severity = wgsl::DiagnosticSeverity::kError;
+ auto switch_body_severity = wgsl::DiagnosticSeverity::kOff;
+ auto case_severity = wgsl::DiagnosticSeverity::kWarning;
+ auto for_severity = wgsl::DiagnosticSeverity::kError;
+ auto for_body_severity = wgsl::DiagnosticSeverity::kWarning;
+ auto loop_severity = wgsl::DiagnosticSeverity::kWarning;
+ auto loop_body_severity = wgsl::DiagnosticSeverity::kOff;
+ auto continuing_severity = wgsl::DiagnosticSeverity::kInfo;
+ auto while_severity = wgsl::DiagnosticSeverity::kError;
+ auto while_body_severity = wgsl::DiagnosticSeverity::kWarning;
auto attr = [&](auto severity) {
return tint::Vector{DiagnosticAttribute(severity, "chromium", "unreachable_code")};
};
@@ -173,12 +173,12 @@
};
TEST_F(DiagnosticSeverityTest, WithDirective) {
- DiagnosticDirective(core::DiagnosticSeverity::kError, "chromium", "unreachable_code");
- Run(core::DiagnosticSeverity::kError);
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kError, "chromium", "unreachable_code");
+ Run(wgsl::DiagnosticSeverity::kError);
}
TEST_F(DiagnosticSeverityTest, WithoutDirective) {
- Run(core::DiagnosticSeverity::kWarning);
+ Run(wgsl::DiagnosticSeverity::kWarning);
}
} // namespace
diff --git a/src/tint/lang/wgsl/sem/function.h b/src/tint/lang/wgsl/sem/function.h
index 5638dbd..c21a76e 100644
--- a/src/tint/lang/wgsl/sem/function.h
+++ b/src/tint/lang/wgsl/sem/function.h
@@ -266,12 +266,12 @@
/// Modifies the severity of a specific diagnostic rule for this function.
/// @param rule the diagnostic rule
/// @param severity the new diagnostic severity
- void SetDiagnosticSeverity(core::DiagnosticRule rule, core::DiagnosticSeverity severity) {
+ void SetDiagnosticSeverity(wgsl::DiagnosticRule rule, wgsl::DiagnosticSeverity severity) {
diagnostic_severities_[rule] = severity;
}
/// @returns the diagnostic severity modifications applied to this function
- const core::DiagnosticRuleSeverities& DiagnosticSeverities() const {
+ const wgsl::DiagnosticRuleSeverities& DiagnosticSeverities() const {
return diagnostic_severities_;
}
@@ -295,7 +295,7 @@
std::vector<const Function*> ancestor_entry_points_;
const Statement* discard_stmt_ = nullptr;
sem::Behaviors behaviors_{sem::Behavior::kNext};
- core::DiagnosticRuleSeverities diagnostic_severities_;
+ wgsl::DiagnosticRuleSeverities diagnostic_severities_;
std::optional<uint32_t> return_location_;
std::optional<uint32_t> return_index_;
diff --git a/src/tint/lang/wgsl/sem/info.cc b/src/tint/lang/wgsl/sem/info.cc
index 9ecc02d..f4bd839 100644
--- a/src/tint/lang/wgsl/sem/info.cc
+++ b/src/tint/lang/wgsl/sem/info.cc
@@ -30,8 +30,8 @@
Info& Info::operator=(Info&&) = default;
-core::DiagnosticSeverity Info::DiagnosticSeverity(const ast::Node* ast_node,
- core::DiagnosticRule rule) const {
+wgsl::DiagnosticSeverity Info::DiagnosticSeverity(const ast::Node* ast_node,
+ wgsl::DiagnosticRule rule) const {
// Get the diagnostic severity modification for a node.
auto check = [&](auto* node) {
auto& severities = node->DiagnosticSeverities();
@@ -39,13 +39,13 @@
if (itr != severities.end()) {
return itr->second;
}
- return core::DiagnosticSeverity::kUndefined;
+ return wgsl::DiagnosticSeverity::kUndefined;
};
// Get the diagnostic severity modification for a function.
auto check_func = [&](const sem::Function* func) {
auto severity = check(func);
- if (severity != core::DiagnosticSeverity::kUndefined) {
+ if (severity != wgsl::DiagnosticSeverity::kUndefined) {
return severity;
}
@@ -58,7 +58,7 @@
// Walk up the statement hierarchy, checking for diagnostic severity modifications.
while (true) {
auto severity = check(stmt);
- if (severity != core::DiagnosticSeverity::kUndefined) {
+ if (severity != wgsl::DiagnosticSeverity::kUndefined) {
return severity;
}
if (!stmt->Parent()) {
@@ -83,7 +83,7 @@
// Use the global severity set on the module.
return check(module_);
});
- TINT_ASSERT(severity != core::DiagnosticSeverity::kUndefined);
+ TINT_ASSERT(severity != wgsl::DiagnosticSeverity::kUndefined);
return severity;
}
diff --git a/src/tint/lang/wgsl/sem/info.h b/src/tint/lang/wgsl/sem/info.h
index 3cdbc9a..5a41a3f 100644
--- a/src/tint/lang/wgsl/sem/info.h
+++ b/src/tint/lang/wgsl/sem/info.h
@@ -161,8 +161,8 @@
/// @param ast_node the AST node
/// @param rule the diagnostic rule
/// @returns the severity of the rule for that AST node
- core::DiagnosticSeverity DiagnosticSeverity(const ast::Node* ast_node,
- core::DiagnosticRule rule) const;
+ wgsl::DiagnosticSeverity DiagnosticSeverity(const ast::Node* ast_node,
+ wgsl::DiagnosticRule rule) const;
private:
// AST node index to semantic node
diff --git a/src/tint/lang/wgsl/sem/module.cc b/src/tint/lang/wgsl/sem/module.cc
index 29b2c70..8da89c8 100644
--- a/src/tint/lang/wgsl/sem/module.cc
+++ b/src/tint/lang/wgsl/sem/module.cc
@@ -21,7 +21,7 @@
namespace tint::sem {
-Module::Module(VectorRef<const ast::Node*> dep_ordered_decls, core::Extensions extensions)
+Module::Module(VectorRef<const ast::Node*> dep_ordered_decls, wgsl::Extensions extensions)
: dep_ordered_decls_(std::move(dep_ordered_decls)), extensions_(std::move(extensions)) {}
Module::~Module() = default;
diff --git a/src/tint/lang/wgsl/sem/module.h b/src/tint/lang/wgsl/sem/module.h
index d1cae6c..25b86db 100644
--- a/src/tint/lang/wgsl/sem/module.h
+++ b/src/tint/lang/wgsl/sem/module.h
@@ -15,8 +15,8 @@
#ifndef SRC_TINT_LANG_WGSL_SEM_MODULE_H_
#define SRC_TINT_LANG_WGSL_SEM_MODULE_H_
-#include "src/tint/lang/core/extension.h"
#include "src/tint/lang/wgsl/ast/diagnostic_control.h"
+#include "src/tint/lang/wgsl/extension.h"
#include "src/tint/lang/wgsl/sem/node.h"
#include "src/tint/utils/containers/vector.h"
@@ -34,7 +34,7 @@
/// Constructor
/// @param dep_ordered_decls the dependency-ordered module-scope declarations
/// @param extensions the list of enabled extensions in the module
- Module(VectorRef<const ast::Node*> dep_ordered_decls, core::Extensions extensions);
+ Module(VectorRef<const ast::Node*> dep_ordered_decls, wgsl::Extensions extensions);
/// Destructor
~Module() override;
@@ -43,24 +43,24 @@
VectorRef<const ast::Node*> DependencyOrderedDeclarations() const { return dep_ordered_decls_; }
/// @returns the list of enabled extensions in the module
- const core::Extensions& Extensions() const { return extensions_; }
+ const wgsl::Extensions& Extensions() const { return extensions_; }
/// Modifies the severity of a specific diagnostic rule for this module.
/// @param rule the diagnostic rule
/// @param severity the new diagnostic severity
- void SetDiagnosticSeverity(core::DiagnosticRule rule, core::DiagnosticSeverity severity) {
+ void SetDiagnosticSeverity(wgsl::DiagnosticRule rule, wgsl::DiagnosticSeverity severity) {
diagnostic_severities_[rule] = severity;
}
/// @returns the diagnostic severity modifications applied to this module
- const core::DiagnosticRuleSeverities& DiagnosticSeverities() const {
+ const wgsl::DiagnosticRuleSeverities& DiagnosticSeverities() const {
return diagnostic_severities_;
}
private:
const tint::Vector<const ast::Node*, 64> dep_ordered_decls_;
- core::Extensions extensions_;
- core::DiagnosticRuleSeverities diagnostic_severities_;
+ wgsl::Extensions extensions_;
+ wgsl::DiagnosticRuleSeverities diagnostic_severities_;
};
} // namespace tint::sem
diff --git a/src/tint/lang/wgsl/sem/statement.h b/src/tint/lang/wgsl/sem/statement.h
index 133d00b..446ca8e 100644
--- a/src/tint/lang/wgsl/sem/statement.h
+++ b/src/tint/lang/wgsl/sem/statement.h
@@ -113,12 +113,12 @@
/// Modifies the severity of a specific diagnostic rule for this statement.
/// @param rule the diagnostic rule
/// @param severity the new diagnostic severity
- void SetDiagnosticSeverity(core::DiagnosticRule rule, core::DiagnosticSeverity severity) {
+ void SetDiagnosticSeverity(wgsl::DiagnosticRule rule, wgsl::DiagnosticSeverity severity) {
diagnostic_severities_[rule] = severity;
}
/// @returns the diagnostic severity modifications applied to this statement
- const core::DiagnosticRuleSeverities& DiagnosticSeverities() const {
+ const wgsl::DiagnosticRuleSeverities& DiagnosticSeverities() const {
return diagnostic_severities_;
}
@@ -128,7 +128,7 @@
const sem::Function* const function_;
sem::Behaviors behaviors_{sem::Behavior::kNext};
bool is_reachable_ = true;
- core::DiagnosticRuleSeverities diagnostic_severities_;
+ wgsl::DiagnosticRuleSeverities diagnostic_severities_;
};
/// CompoundStatement is the base class of statements that can hold other
diff --git a/src/tint/lang/wgsl/wgsl.def b/src/tint/lang/wgsl/wgsl.def
new file mode 100644
index 0000000..0a40a81
--- /dev/null
+++ b/src/tint/lang/wgsl/wgsl.def
@@ -0,0 +1,74 @@
+// 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.
+
+////////////////////////////////////////////////////////////////////////////////
+// WGSL builtin definition file //
+// //
+// This file is used to generate parts of the Tint BuiltinTable, various //
+// enum definition files, as well as test .wgsl files. //
+// //
+// After modifying this file, run: //
+// tools/run gen //
+// from the Dawn source directory. //
+////////////////////////////////////////////////////////////////////////////////
+
+////////////////////////////////////////////////////////////////////////////////
+// Enumerators //
+////////////////////////////////////////////////////////////////////////////////
+
+// https://gpuweb.github.io/gpuweb/wgsl/#filterable-triggering-rules
+enum core_diagnostic_rule {
+ // Rules defined in the spec.
+ derivative_uniformity
+}
+
+// chromium-specific diagnostics
+enum chromium_diagnostic_rule {
+ // Chromium specific rules not defined in the spec.
+ unreachable_code
+}
+
+// https://gpuweb.github.io/gpuweb/wgsl/#syntax-severity_control_name
+enum diagnostic_severity {
+ error
+ warning
+ info
+ off
+}
+
+// https://gpuweb.github.io/gpuweb/wgsl/#extension
+enum extension {
+ // WGSL Extension "f16"
+ f16
+ // An extension for the experimental feature "chromium_experimental_dp4a".
+ // See crbug.com/tint/1497 for more details
+ chromium_experimental_dp4a
+ // A Chromium-specific extension for disabling uniformity analysis.
+ chromium_disable_uniformity_analysis
+ // A Chromium-specific extension for push constants
+ chromium_experimental_push_constant
+ // A Chromium-specific extension that enables passing of uniform, storage and workgroup
+ // address-spaced pointers as parameters, as well as pointers into sub-objects.
+ chromium_experimental_full_ptr_parameters
+ // A Chromium-specific extension that adds support for read-write storage textures.
+ chromium_experimental_read_write_storage_texture
+ // A Chromium-specific extension that adds basic subgroup functionality.
+ chromium_experimental_subgroups
+ // A Chromium-specific extension that relaxes memory layout requirements for uniform storage.
+ chromium_internal_relaxed_uniform_layout
+ // A Chromium-specific extension that enables dual source blending.
+ chromium_internal_dual_source_blending
+ // A Chromium-specific extension that enables pixel local storage.
+ chromium_experimental_pixel_local
+}
diff --git a/src/tint/lang/wgsl/writer/BUILD.bazel b/src/tint/lang/wgsl/writer/BUILD.bazel
index 850e260..570230f 100644
--- a/src/tint/lang/wgsl/writer/BUILD.bazel
+++ b/src/tint/lang/wgsl/writer/BUILD.bazel
@@ -39,6 +39,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
@@ -72,6 +73,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
diff --git a/src/tint/lang/wgsl/writer/BUILD.cmake b/src/tint/lang/wgsl/writer/BUILD.cmake
index 0fdab06..4802da7 100644
--- a/src/tint/lang/wgsl/writer/BUILD.cmake
+++ b/src/tint/lang/wgsl/writer/BUILD.cmake
@@ -42,6 +42,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
@@ -76,6 +77,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
diff --git a/src/tint/lang/wgsl/writer/BUILD.gn b/src/tint/lang/wgsl/writer/BUILD.gn
index cb47dbc..1bbf405 100644
--- a/src/tint/lang/wgsl/writer/BUILD.gn
+++ b/src/tint/lang/wgsl/writer/BUILD.gn
@@ -38,6 +38,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
diff --git a/src/tint/lang/wgsl/writer/ast_printer/BUILD.bazel b/src/tint/lang/wgsl/writer/ast_printer/BUILD.bazel
index 64c5a7b..b80b144 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/BUILD.bazel
+++ b/src/tint/lang/wgsl/writer/ast_printer/BUILD.bazel
@@ -35,6 +35,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
@@ -97,6 +98,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/resolver",
diff --git a/src/tint/lang/wgsl/writer/ast_printer/BUILD.cmake b/src/tint/lang/wgsl/writer/ast_printer/BUILD.cmake
index 8004d94..96beb17 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/BUILD.cmake
+++ b/src/tint/lang/wgsl/writer/ast_printer/BUILD.cmake
@@ -34,6 +34,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
@@ -96,6 +97,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_resolver
diff --git a/src/tint/lang/wgsl/writer/ast_printer/BUILD.gn b/src/tint/lang/wgsl/writer/ast_printer/BUILD.gn
index 7e2c123..dcdec55 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/BUILD.gn
+++ b/src/tint/lang/wgsl/writer/ast_printer/BUILD.gn
@@ -38,6 +38,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
@@ -99,6 +100,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/resolver",
diff --git a/src/tint/lang/wgsl/writer/ast_printer/cast_test.cc b/src/tint/lang/wgsl/writer/ast_printer/cast_test.cc
index 93361dc..cfb6ae5 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/cast_test.cc
+++ b/src/tint/lang/wgsl/writer/ast_printer/cast_test.cc
@@ -38,7 +38,7 @@
}
TEST_F(WgslASTPrinterTest, EmitExpression_Cast_Scalar_F16_From_I32) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<f16>(1_i);
WrapInFunction(cast);
@@ -64,7 +64,7 @@
}
TEST_F(WgslASTPrinterTest, EmitExpression_Cast_Vector_F16_From_I32) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* cast = Call<vec3<f16>>(Call<vec3<i32>>(1_i, 2_i, 3_i));
WrapInFunction(cast);
diff --git a/src/tint/lang/wgsl/writer/ast_printer/constructor_test.cc b/src/tint/lang/wgsl/writer/ast_printer/constructor_test.cc
index 38026b9..260c3a7 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/constructor_test.cc
+++ b/src/tint/lang/wgsl/writer/ast_printer/constructor_test.cc
@@ -65,7 +65,7 @@
}
TEST_F(WgslASTPrinterTest_Constructor, F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
// Use a number close to 1<<16 but whose decimal representation ends in 0.
WrapInFunction(Expr(f16((1 << 15) - 8)));
@@ -88,7 +88,7 @@
}
TEST_F(WgslASTPrinterTest_Constructor, Type_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<f16>(Expr(-1.2e-5_h)));
@@ -140,7 +140,7 @@
}
TEST_F(WgslASTPrinterTest_Constructor, Type_Vec_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(Call<vec3<f16>>(1_h, 2_h, 3_h));
@@ -164,7 +164,7 @@
}
TEST_F(WgslASTPrinterTest_Constructor, Type_Mat_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
WrapInFunction(
Call<mat2x3<f16>>(Call<vec3<f16>>(1_h, 2_h, 3_h), Call<vec3<f16>>(3_h, 4_h, 5_h)));
diff --git a/src/tint/lang/wgsl/writer/ast_printer/diagnostic_test.cc b/src/tint/lang/wgsl/writer/ast_printer/diagnostic_test.cc
index df2b9cc..105a7b7 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/diagnostic_test.cc
+++ b/src/tint/lang/wgsl/writer/ast_printer/diagnostic_test.cc
@@ -22,7 +22,7 @@
using WgslASTPrinterTest = TestHelper;
TEST_F(WgslASTPrinterTest, Emit_DiagnosticDirective) {
- DiagnosticDirective(core::DiagnosticSeverity::kError, "chromium", "unreachable_code");
+ DiagnosticDirective(wgsl::DiagnosticSeverity::kError, "chromium", "unreachable_code");
ASTPrinter& gen = Build();
gen.Generate();
@@ -34,7 +34,7 @@
TEST_F(WgslASTPrinterTest, Emit_DiagnosticAttribute) {
auto* attr =
- DiagnosticAttribute(core::DiagnosticSeverity::kError, "chromium", "unreachable_code");
+ DiagnosticAttribute(wgsl::DiagnosticSeverity::kError, "chromium", "unreachable_code");
Func("foo", {}, ty.void_(), {}, Vector{attr});
ASTPrinter& gen = Build();
diff --git a/src/tint/lang/wgsl/writer/ast_printer/enable_test.cc b/src/tint/lang/wgsl/writer/ast_printer/enable_test.cc
index 319db97..3791c99 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/enable_test.cc
+++ b/src/tint/lang/wgsl/writer/ast_printer/enable_test.cc
@@ -22,7 +22,7 @@
using WgslASTPrinterTest = TestHelper;
TEST_F(WgslASTPrinterTest, Emit_Enable) {
- auto* enable = Enable(core::Extension::kF16);
+ auto* enable = Enable(wgsl::Extension::kF16);
ASTPrinter& gen = Build();
diff --git a/src/tint/lang/wgsl/writer/ast_printer/literal_test.cc b/src/tint/lang/wgsl/writer/ast_printer/literal_test.cc
index 670d5eb..00378c7 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/literal_test.cc
+++ b/src/tint/lang/wgsl/writer/ast_printer/literal_test.cc
@@ -160,7 +160,7 @@
using WgslGenerator_F16LiteralTest = TestParamHelper<F16Data>;
TEST_P(WgslGenerator_F16LiteralTest, Emit) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* v = Expr(GetParam().value);
diff --git a/src/tint/lang/wgsl/writer/ast_printer/type_test.cc b/src/tint/lang/wgsl/writer/ast_printer/type_test.cc
index 6723673..cd2b55d 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/type_test.cc
+++ b/src/tint/lang/wgsl/writer/ast_printer/type_test.cc
@@ -98,7 +98,7 @@
}
TEST_F(WgslASTPrinterTest, EmitType_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto type = Alias("make_type_reachable", ty.f16())->type;
@@ -133,7 +133,7 @@
}
TEST_F(WgslASTPrinterTest, EmitType_Matrix_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto type = Alias("make_type_reachable", ty.mat2x3<f16>())->type;
@@ -388,7 +388,7 @@
}
TEST_F(WgslASTPrinterTest, EmitType_Vector_F16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto type = Alias("make_type_reachable", ty.vec3<f16>())->type;
diff --git a/src/tint/lang/wgsl/writer/ast_printer/variable_decl_statement_test.cc b/src/tint/lang/wgsl/writer/ast_printer/variable_decl_statement_test.cc
index fdc7339..5382fd6 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/variable_decl_statement_test.cc
+++ b/src/tint/lang/wgsl/writer/ast_printer/variable_decl_statement_test.cc
@@ -146,7 +146,7 @@
}
TEST_F(WgslASTPrinterTest, Emit_VariableDeclStatement_Const_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* C = Const("C", Expr(1_h));
Func("f", tint::Empty, ty.void_(),
@@ -222,7 +222,7 @@
}
TEST_F(WgslASTPrinterTest, Emit_VariableDeclStatement_Const_vec3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* C = Const("C", Call<vec3<f16>>(1_h, 2_h, 3_h));
Func("f", tint::Empty, ty.void_(),
@@ -280,7 +280,7 @@
}
TEST_F(WgslASTPrinterTest, Emit_VariableDeclStatement_Const_mat2x3_f16) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
auto* C = Const("C", Call<mat2x3<f16>>(1_h, 2_h, 3_h, 4_h, 5_h, 6_h));
Func("f", tint::Empty, ty.void_(),
diff --git a/src/tint/lang/wgsl/writer/ir_to_program/BUILD.bazel b/src/tint/lang/wgsl/writer/ir_to_program/BUILD.bazel
index 0db88d9..09671ed 100644
--- a/src/tint/lang/wgsl/writer/ir_to_program/BUILD.bazel
+++ b/src/tint/lang/wgsl/writer/ir_to_program/BUILD.bazel
@@ -41,6 +41,7 @@
"//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/resolver",
@@ -80,6 +81,7 @@
"//src/tint/lang/core/ir",
"//src/tint/lang/core/ir:test",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
diff --git a/src/tint/lang/wgsl/writer/ir_to_program/BUILD.cmake b/src/tint/lang/wgsl/writer/ir_to_program/BUILD.cmake
index ef8913c..4ac6bd8 100644
--- a/src/tint/lang/wgsl/writer/ir_to_program/BUILD.cmake
+++ b/src/tint/lang/wgsl/writer/ir_to_program/BUILD.cmake
@@ -40,6 +40,7 @@
tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_resolver
@@ -79,6 +80,7 @@
tint_lang_core_ir
tint_lang_core_ir_test
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
diff --git a/src/tint/lang/wgsl/writer/ir_to_program/BUILD.gn b/src/tint/lang/wgsl/writer/ir_to_program/BUILD.gn
index 5dc5e9a..584fa6c 100644
--- a/src/tint/lang/wgsl/writer/ir_to_program/BUILD.gn
+++ b/src/tint/lang/wgsl/writer/ir_to_program/BUILD.gn
@@ -44,6 +44,7 @@
"${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/resolver",
@@ -82,6 +83,7 @@
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/ir:unittests",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
diff --git a/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.cc b/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.cc
index b32e60e..169ca8b 100644
--- a/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.cc
+++ b/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.cc
@@ -176,7 +176,7 @@
Hashset<core::ir::Value*, 64> can_inline_;
/// Set of enable directives emitted.
- Hashset<core::Extension, 4> enables_;
+ Hashset<wgsl::Extension, 4> enables_;
/// Map of struct to output program name.
Hashmap<const core::type::Struct*, Symbol, 8> structs_;
@@ -581,8 +581,8 @@
[&](core::ir::CoreBuiltinCall* c) {
if (!disabled_derivative_uniformity_ && RequiresDerivativeUniformity(c->Func())) {
// TODO(crbug.com/tint/1985): Be smarter about disabling derivative uniformity.
- b.DiagnosticDirective(core::DiagnosticSeverity::kOff,
- core::CoreDiagnosticRule::kDerivativeUniformity);
+ b.DiagnosticDirective(wgsl::DiagnosticSeverity::kOff,
+ wgsl::CoreDiagnosticRule::kDerivativeUniformity);
disabled_derivative_uniformity_ = true;
}
@@ -826,7 +826,7 @@
[&](const core::type::U32*) { return b.Expr(c->ValueAs<u32>()); },
[&](const core::type::F32*) { return b.Expr(c->ValueAs<f32>()); },
[&](const core::type::F16*) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
return b.Expr(c->ValueAs<f16>());
},
[&](const core::type::Bool*) { return b.Expr(c->ValueAs<bool>()); },
@@ -840,7 +840,7 @@
});
}
- void Enable(core::Extension ext) {
+ void Enable(wgsl::Extension ext) {
if (enables_.Add(ext)) {
b.Enable(ext);
}
@@ -866,7 +866,7 @@
[&](const core::type::I32*) { return b.ty.i32(); }, //
[&](const core::type::U32*) { return b.ty.u32(); }, //
[&](const core::type::F16*) {
- Enable(core::Extension::kF16);
+ Enable(wgsl::Extension::kF16);
return b.ty.f16();
},
[&](const core::type::F32*) { return b.ty.f32(); }, //
@@ -954,7 +954,7 @@
ast_attrs.Push(b.Location(u32(*location)));
}
if (auto index = ir_attrs.index) {
- Enable(core::Extension::kChromiumInternalDualSourceBlending);
+ Enable(wgsl::Extension::kChromiumInternalDualSourceBlending);
ast_attrs.Push(b.Index(u32(*index)));
}
if (auto builtin = ir_attrs.builtin) {
diff --git a/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.bazel b/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.bazel
index 6ec7c13..8009138 100644
--- a/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.bazel
+++ b/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.bazel
@@ -35,6 +35,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
diff --git a/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.cmake b/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.cmake
index 0a46c6e..d9353a4 100644
--- a/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.cmake
+++ b/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.cmake
@@ -34,6 +34,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
diff --git a/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.gn b/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.gn
index 0b604d8..16b77ae 100644
--- a/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.gn
+++ b/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.gn
@@ -34,6 +34,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
diff --git a/src/tint/utils/containers/BUILD.bazel b/src/tint/utils/containers/BUILD.bazel
index c64b88a..c571f72 100644
--- a/src/tint/utils/containers/BUILD.bazel
+++ b/src/tint/utils/containers/BUILD.bazel
@@ -78,6 +78,7 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
diff --git a/src/tint/utils/containers/BUILD.cmake b/src/tint/utils/containers/BUILD.cmake
index 2cb4ff8..eaf1266 100644
--- a/src/tint/utils/containers/BUILD.cmake
+++ b/src/tint/utils/containers/BUILD.cmake
@@ -77,6 +77,7 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
+ tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_sem
diff --git a/src/tint/utils/containers/BUILD.gn b/src/tint/utils/containers/BUILD.gn
index a912cce..b7cbe13b 100644
--- a/src/tint/utils/containers/BUILD.gn
+++ b/src/tint/utils/containers/BUILD.gn
@@ -80,6 +80,7 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",