tint/ast: Generate ast::Extension from intrinsics.def

Emit unit tests for parsing and printing.
Emit benchmarks for parsing.
Uses intrinsics.def as a single-source-of-truth.
The generators provide a way to optimize the enum parsers.

Change-Id: I7f13128f510b2156c2ef724c89df7bb85dae17ed
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/97151
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
This commit is contained in:
Ben Clayton
2022-07-27 18:32:19 +00:00
committed by Dawn LUCI CQ
parent 9e5415dbeb
commit f50d56aa05
18 changed files with 383 additions and 153 deletions

View File

@@ -164,9 +164,9 @@ bool Builtin::HasSideEffects() const {
ast::Extension Builtin::RequiredExtension() const {
if (IsDP4a()) {
return ast::Extension::kChromiumExperimentalDP4a;
return ast::Extension::kChromiumExperimentalDp4A;
}
return ast::Extension::kNone;
return ast::Extension::kInvalid;
}
} // namespace tint::sem