mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-09 05:27:49 +00:00
Merge RenameReservedKeywords into the Renamer
Adds additional modes to the Renamer for renaming just HLSL or MSL keywords. The sanitizers no longer rename reserved keywords automatically, which isn't usually necessary anyway since Dawn renames all symbols. The tint executable automatically renames reserved keywords when targeting HLSL and MSL. It now also has an option to rename everything, which is useful for testing the renamer. Change-Id: Idbfd53226805e851050024402be8d8f251b88707 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/47960 Commit-Queue: Ben Clayton <bclayton@chromium.org> Auto-Submit: James Price <jrprice@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
fc03a46516
commit
fd7251bb02
@@ -85,6 +85,7 @@ const char kUsage[] = R"(Usage: tint [options] <input-file>
|
||||
bound_array_accessors
|
||||
emit_vertex_point_size
|
||||
first_index_offset
|
||||
renamer
|
||||
--parse-only -- Stop after parsing the input
|
||||
--dump-ast -- Dump the generated AST to stdout
|
||||
--dawn-validation -- SPIRV outputs are validated with the same flags
|
||||
@@ -688,6 +689,8 @@ int main(int argc, const char** argv) {
|
||||
} else if (name == "first_index_offset") {
|
||||
transform_manager.append(
|
||||
std::make_unique<tint::transform::FirstIndexOffset>(0, 0));
|
||||
} else if (name == "renamer") {
|
||||
transform_manager.append(std::make_unique<tint::transform::Renamer>());
|
||||
} else {
|
||||
std::cerr << "Unknown transform name: " << name << std::endl;
|
||||
return 1;
|
||||
@@ -702,14 +705,24 @@ int main(int argc, const char** argv) {
|
||||
break;
|
||||
#endif // TINT_BUILD_SPV_WRITER
|
||||
#if TINT_BUILD_MSL_WRITER
|
||||
case Format::kMsl:
|
||||
case Format::kMsl: {
|
||||
tint::transform::Renamer::Config renamer_config{
|
||||
tint::transform::Renamer::Target::kMslKeywords};
|
||||
transform_manager.append(
|
||||
std::make_unique<tint::transform::Renamer>(renamer_config));
|
||||
transform_manager.append(std::make_unique<tint::transform::Msl>());
|
||||
break;
|
||||
}
|
||||
#endif // TINT_BUILD_MSL_WRITER
|
||||
#if TINT_BUILD_HLSL_WRITER
|
||||
case Format::kHlsl:
|
||||
case Format::kHlsl: {
|
||||
tint::transform::Renamer::Config renamer_config{
|
||||
tint::transform::Renamer::Target::kHlslKeywords};
|
||||
transform_manager.append(
|
||||
std::make_unique<tint::transform::Renamer>(renamer_config));
|
||||
transform_manager.append(std::make_unique<tint::transform::Hlsl>());
|
||||
break;
|
||||
}
|
||||
#endif // TINT_BUILD_HLSL_WRITER
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user