diff --git a/src/dawn_native/metal/ShaderModuleMTL.mm b/src/dawn_native/metal/ShaderModuleMTL.mm
index 382ee86..eddc904 100644
--- a/src/dawn_native/metal/ShaderModuleMTL.mm
+++ b/src/dawn_native/metal/ShaderModuleMTL.mm
@@ -122,9 +122,12 @@
             transformManager.Add<tint::transform::BoundArrayAccessors>();
         }
         transformManager.Add<tint::transform::BindingRemapper>();
-        transformManager.Add<tint::transform::Renamer>();
         transformManager.Add<tint::transform::Msl>();
 
+        if (!GetDevice()->IsToggleEnabled(Toggle::DumpTranslatedShaders)) {
+            transformManager.Add<tint::transform::Renamer>();
+        }
+
         transformInputs.Add<BindingRemapper::Remappings>(std::move(bindingPoints),
                                                          std::move(accessControls),
                                                          /* mayCollide */ true);
@@ -143,7 +146,11 @@
             }
             *remappedEntryPointName = it->second;
         } else {
-            return DAWN_VALIDATION_ERROR("Transform output missing renamer data.");
+            if (GetDevice()->IsToggleEnabled(Toggle::DumpTranslatedShaders)) {
+                *remappedEntryPointName = entryPointName;
+            } else {
+                return DAWN_VALIDATION_ERROR("Transform output missing renamer data.");
+            }
         }
 
         if (auto* data = transformOutputs.Get<tint::transform::Msl::Result>()) {
@@ -312,6 +319,12 @@
 #endif
 )" + msl;
 
+        if (GetDevice()->IsToggleEnabled(Toggle::DumpTranslatedShaders)) {
+            std::ostringstream dumpedMsg;
+            dumpedMsg << "/* Dumped generated MSL */" << std::endl << msl;
+            GetDevice()->EmitLog(WGPULoggingType_Info, dumpedMsg.str().c_str());
+        }
+
         NSRef<NSString> mslSource = AcquireNSRef([[NSString alloc] initWithUTF8String:msl.c_str()]);
 
         auto mtlDevice = ToBackend(GetDevice())->GetMTLDevice();
