Shader/DependencyCheckerVisitor: Update default config
This commit is contained in:
parent
b6cd85d6fe
commit
073f1dc434
|
|
@ -27,6 +27,8 @@ namespace Nz::ShaderAst
|
|||
|
||||
inline const UsageSet& GetUsage() const;
|
||||
|
||||
inline void MarkStructAsUsed(std::size_t structIndex);
|
||||
|
||||
inline void Process(Statement& statement);
|
||||
void Process(Statement& statement, const Config& config);
|
||||
|
||||
|
|
@ -37,7 +39,7 @@ namespace Nz::ShaderAst
|
|||
|
||||
struct Config
|
||||
{
|
||||
ShaderStageTypeFlags usedShaderStages = ShaderStageType_All;
|
||||
ShaderStageTypeFlags usedShaderStages;
|
||||
};
|
||||
|
||||
struct UsageSet
|
||||
|
|
|
|||
|
|
@ -12,6 +12,11 @@ namespace Nz::ShaderAst
|
|||
return m_resolvedUsage;
|
||||
}
|
||||
|
||||
inline void DependencyCheckerVisitor::MarkStructAsUsed(std::size_t structIndex)
|
||||
{
|
||||
m_globalUsage.usedStructs.UnboundedSet(structIndex);
|
||||
}
|
||||
|
||||
inline void DependencyCheckerVisitor::Process(Statement& statement)
|
||||
{
|
||||
Config defaultConfig;
|
||||
|
|
|
|||
|
|
@ -522,8 +522,11 @@ namespace Nz
|
|||
{
|
||||
ShaderAst::StatementPtr tempAst;
|
||||
|
||||
ShaderAst::DependencyCheckerVisitor::Config dependencyConfig;
|
||||
dependencyConfig.usedShaderStages = ShaderStageType_All;
|
||||
|
||||
tempAst = ShaderAst::PropagateConstants(*targetAst);
|
||||
optimizedAst = ShaderAst::EliminateUnusedPass(*tempAst);
|
||||
optimizedAst = ShaderAst::EliminateUnusedPass(*tempAst, dependencyConfig);
|
||||
|
||||
targetAst = optimizedAst.get();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue