ShaderModule: Deprecate dump_translated_shaders for dump_shaders
And print the WGSL program even when !force_wgsl_step
Shaders are often built through string concatenation.
Being able to always dump this is useful.
Change-Id: I5da3866b333e8a80931c7c2837f0247e8f38213d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/57380
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/dawn_native/ShaderModule.cpp b/src/dawn_native/ShaderModule.cpp
index 5db2d22..262b42a 100644
--- a/src/dawn_native/ShaderModule.cpp
+++ b/src/dawn_native/ShaderModule.cpp
@@ -1126,12 +1126,6 @@
newWgslCode = std::move(result.wgsl);
newWgslDesc.source = newWgslCode.c_str();
- if (device->IsToggleEnabled(Toggle::DumpTranslatedShaders)) {
- std::ostringstream dumpedMsg;
- dumpedMsg << "// Dumped generated WGSL" << std::endl << newWgslCode;
- device->EmitLog(WGPULoggingType_Info, dumpedMsg.str().c_str());
- }
-
spirvDesc = nullptr;
wgslDesc = &newWgslDesc;
}
@@ -1155,6 +1149,12 @@
} else if (wgslDesc) {
auto tintSource = std::make_unique<TintSource>("", wgslDesc->source);
+ if (device->IsToggleEnabled(Toggle::DumpShaders)) {
+ std::ostringstream dumpedMsg;
+ dumpedMsg << "// Dumped WGSL:" << std::endl << wgslDesc->source;
+ device->EmitLog(WGPULoggingType_Info, dumpedMsg.str().c_str());
+ }
+
tint::Program program;
DAWN_TRY_ASSIGN(program, ParseWGSL(&tintSource->file, outMessages));
diff --git a/src/dawn_native/Toggles.cpp b/src/dawn_native/Toggles.cpp
index 65da56b..195aa75 100644
--- a/src/dawn_native/Toggles.cpp
+++ b/src/dawn_native/Toggles.cpp
@@ -189,12 +189,15 @@
"This is useful to prevent a Chromium renderer process from successfully sending"
"SPIR-V code to be compiled in the GPU process.",
"https://crbug.com/1214923"}},
- {Toggle::DumpTranslatedShaders,
- {"dump_translated_shaders",
- "Dump generated shaders for debug propose, dumped shaders will be log via "
+ {Toggle::DumpShaders,
+ {"dump_shaders",
+ "Dump shaders for debugging purposes. Dumped shaders will be log via "
"EmitLog, thus printed in Chrome console or consumed by user-defined callback "
"function.",
"https://crbug.com/dawn/792"}},
+ {Toggle::DEPRECATED_DumpTranslatedShaders,
+ {"dump_translated_shaders", "Deprecated. Use dump_shaders",
+ "https://crbug.com/dawn/792"}},
{Toggle::ForceWGSLStep,
{"force_wgsl_step",
"When ingesting SPIR-V shaders, force a first conversion to WGSL. This allows "
@@ -206,12 +209,19 @@
} // anonymous namespace
void TogglesSet::Set(Toggle toggle, bool enabled) {
+ if (toggle == Toggle::DEPRECATED_DumpTranslatedShaders) {
+ Set(Toggle::DumpShaders, enabled);
+ return;
+ }
ASSERT(toggle != Toggle::InvalidEnum);
const size_t toggleIndex = static_cast<size_t>(toggle);
toggleBitset.set(toggleIndex, enabled);
}
bool TogglesSet::Has(Toggle toggle) const {
+ if (toggle == Toggle::DEPRECATED_DumpTranslatedShaders) {
+ return Has(Toggle::DumpShaders);
+ }
ASSERT(toggle != Toggle::InvalidEnum);
const size_t toggleIndex = static_cast<size_t>(toggle);
return toggleBitset.test(toggleIndex);
diff --git a/src/dawn_native/Toggles.h b/src/dawn_native/Toggles.h
index 711f8d3..ade8e7a 100644
--- a/src/dawn_native/Toggles.h
+++ b/src/dawn_native/Toggles.h
@@ -53,7 +53,8 @@
UseTempBufferInSmallFormatTextureToTextureCopyFromGreaterToLessMipLevel,
EmitHLSLDebugSymbols,
DisallowSpirv,
- DumpTranslatedShaders,
+ DumpShaders,
+ DEPRECATED_DumpTranslatedShaders, // Use DumpShaders
ForceWGSLStep,
EnumCount,
diff --git a/src/dawn_native/d3d12/ShaderModuleD3D12.cpp b/src/dawn_native/d3d12/ShaderModuleD3D12.cpp
index d8b742a..614cd71 100644
--- a/src/dawn_native/d3d12/ShaderModuleD3D12.cpp
+++ b/src/dawn_native/d3d12/ShaderModuleD3D12.cpp
@@ -395,7 +395,7 @@
entryPointName = "main";
}
- if (device->IsToggleEnabled(Toggle::DumpTranslatedShaders)) {
+ if (device->IsToggleEnabled(Toggle::DumpShaders)) {
std::ostringstream dumpedMsg;
dumpedMsg << "/* Dumped generated HLSL */" << std::endl << hlslSource;
GetDevice()->EmitLog(WGPULoggingType_Info, dumpedMsg.str().c_str());
diff --git a/src/dawn_native/metal/ShaderModuleMTL.mm b/src/dawn_native/metal/ShaderModuleMTL.mm
index d8afff5..439e783 100644
--- a/src/dawn_native/metal/ShaderModuleMTL.mm
+++ b/src/dawn_native/metal/ShaderModuleMTL.mm
@@ -310,7 +310,7 @@
#endif
)" + msl;
- if (GetDevice()->IsToggleEnabled(Toggle::DumpTranslatedShaders)) {
+ if (GetDevice()->IsToggleEnabled(Toggle::DumpShaders)) {
std::ostringstream dumpedMsg;
dumpedMsg << "/* Dumped generated MSL */" << std::endl << msl;
GetDevice()->EmitLog(WGPULoggingType_Info, dumpedMsg.str().c_str());