2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-05-17 07:21:43 +00:00

chore: enable techset debugging on dumper creation level

This commit is contained in:
Jan Laupetin
2026-02-28 15:27:03 +01:00
parent 38cb7d3759
commit 5ab3fd7ca0
8 changed files with 60 additions and 28 deletions
@@ -20,8 +20,10 @@ namespace
const DxVersion dxVersion,
const CommonCodeSourceInfos& codeSourceInfos,
const CommonStreamRoutingInfos& routingInfos,
const AbstractMaterialConstantZoneState& constantZoneState)
const AbstractMaterialConstantZoneState& constantZoneState,
const bool debug)
: AbstractTextDumper(stream),
m_debug(debug),
m_dx_version(dxVersion),
m_code_source_infos(codeSourceInfos),
m_routing_infos(routingInfos),
@@ -31,8 +33,7 @@ namespace
void DumpTechnique(const CommonTechnique& technique)
{
#ifdef TECHSET_DEBUG
if (technique.m_flags)
if (m_debug && technique.m_flags)
{
for (auto i = 0u; i < sizeof(CommonTechnique::m_flags) * 8u; i++)
{
@@ -44,7 +45,6 @@ namespace
}
}
}
#endif
for (const auto& pass : technique.m_passes)
DumpPass(technique, pass);
@@ -56,17 +56,18 @@ namespace
m_stream << "{\n";
IncIndent();
#ifdef TECHSET_DEBUG
for (auto i = 0u; i < sizeof(CommonPass::m_sampler_flags) * 8u; i++)
if (m_debug)
{
const auto mask = 1ull << i;
if (pass.m_sampler_flags & mask)
for (auto i = 0u; i < sizeof(CommonPass::m_sampler_flags) * 8u; i++)
{
Indent();
m_stream << std::format("// CUSTOM SAMPLER FLAGS: 0x{:x}\n", mask);
const auto mask = 1ull << i;
if (pass.m_sampler_flags & mask)
{
Indent();
m_stream << std::format("// CUSTOM SAMPLER FLAGS: 0x{:x}\n", mask);
}
}
}
#endif
DumpStateMap();
DumpShader(technique, pass, pass.m_vertex_shader, CommonTechniqueShaderType::VERTEX, m_dx_version);
@@ -337,12 +338,10 @@ namespace
Indent();
m_stream << std::format("{} = constant.{};\n", codeDestAccessor, codeAccessor);
}
else
else if (m_debug)
{
#ifdef TECHSET_DEBUG
Indent();
m_stream << std::format("// Omitted due to matching accessors: {} = constant.{};\n", codeDestAccessor, codeAccessor);
#endif
}
}
else
@@ -363,12 +362,10 @@ namespace
Indent();
m_stream << std::format("{} = sampler.{};\n", codeDestAccessor, samplerSourceInfo->accessor);
}
else
else if (m_debug)
{
#ifdef TECHSET_DEBUG
Indent();
m_stream << std::format("// Omitted due to matching accessors: {} = sampler.{};\n", codeDestAccessor, samplerSourceInfo->accessor);
#endif
}
}
else
@@ -429,6 +426,7 @@ namespace
}
}
bool m_debug;
DxVersion m_dx_version;
const CommonCodeSourceInfos& m_code_source_infos;
const CommonStreamRoutingInfos& m_routing_infos;
@@ -443,12 +441,13 @@ namespace techset
const DxVersion dxVersion,
const CommonCodeSourceInfos& codeSourceInfos,
const CommonStreamRoutingInfos& routingInfos,
const AbstractMaterialConstantZoneState& constantZoneState)
const AbstractMaterialConstantZoneState& constantZoneState,
const bool debug)
{
const auto techniqueFile = context.OpenAssetFile(GetFileNameForTechniqueName(technique.m_name));
if (techniqueFile)
{
TechniqueFileWriter writer(*techniqueFile, dxVersion, codeSourceInfos, routingInfos, constantZoneState);
TechniqueFileWriter writer(*techniqueFile, dxVersion, codeSourceInfos, routingInfos, constantZoneState, debug);
writer.DumpTechnique(technique);
}
}
@@ -11,5 +11,6 @@ namespace techset
DxVersion dxVersion,
const CommonCodeSourceInfos& codeSourceInfos,
const CommonStreamRoutingInfos& routingInfos,
const AbstractMaterialConstantZoneState& constantZoneState);
const AbstractMaterialConstantZoneState& constantZoneState,
bool debug);
} // namespace techset