[msl] Add new capability to ModuleConstant transform
We recently added new IR validation for accepting non-core types that
requires several transforms to accept this capability. This transform
was missed, as it is not yet enabled by default in Tint E2E tests.
This was caught on CI via a Skia tests running in debug mode (which
enables IR validation by default).
Bug: 426514463
Change-Id: I604e5856c59ec66a6c4c672e544a3c0d4ada0bca
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/248075
Commit-Queue: Peter McNeeley <petermcneeley@google.com>
Reviewed-by: Peter McNeeley <petermcneeley@google.com>
Auto-Submit: James Price <jrprice@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
diff --git a/src/tint/lang/msl/writer/raise/module_constant.cc b/src/tint/lang/msl/writer/raise/module_constant.cc
index 5d1da61..6c9c8b6 100644
--- a/src/tint/lang/msl/writer/raise/module_constant.cc
+++ b/src/tint/lang/msl/writer/raise/module_constant.cc
@@ -79,7 +79,7 @@
} // namespace
Result<SuccessType> ModuleConstant(core::ir::Module& ir) {
- auto result = ValidateAndDumpIfNeeded(ir, "msl.ModuleConstant", kModuleConstant);
+ auto result = ValidateAndDumpIfNeeded(ir, "msl.ModuleConstant", kModuleConstantCapabilities);
if (result != Success) {
return result;
}
diff --git a/src/tint/lang/msl/writer/raise/module_constant.h b/src/tint/lang/msl/writer/raise/module_constant.h
index 0a0ad4c..cf8b5ab 100644
--- a/src/tint/lang/msl/writer/raise/module_constant.h
+++ b/src/tint/lang/msl/writer/raise/module_constant.h
@@ -39,7 +39,7 @@
namespace tint::msl::writer::raise {
/// The capabilities that the transform can support.
-const core::ir::Capabilities kModuleConstant{
+const core::ir::Capabilities kModuleConstantCapabilities{
core::ir::Capability::kAllow8BitIntegers,
core::ir::Capability::kAllow64BitIntegers,
core::ir::Capability::kAllowPointersAndHandlesInStructures,
@@ -48,6 +48,7 @@
core::ir::Capability::kAllowClipDistancesOnF32,
core::ir::Capability::kAllowPrivateVarsInFunctions,
core::ir::Capability::kAllowAnyLetType,
+ core::ir::Capability::kAllowNonCoreTypes,
core::ir::Capability::kAllowWorkspacePointerInputToEntryPoint,
core::ir::Capability::kAllowModuleScopeLets,
};