Shader/DependencyCheckerVisitor: Update default config
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user