Shader/ShaderWrite: Add optimize bool

This commit is contained in:
Lynix
2021-05-16 23:08:36 +02:00
parent 525f24af2e
commit 61d082e61b
6 changed files with 47 additions and 6 deletions

View File

@@ -42,6 +42,9 @@ namespace Nz::ShaderAst
private:
std::optional<UInt64> m_enabledOptions;
};
inline StatementPtr Optimize(const StatementPtr& ast);
inline StatementPtr Optimize(const StatementPtr& ast, UInt64 enabledConditions);
}
#include <Nazara/Shader/Ast/AstOptimizer.inl>

View File

@@ -5,8 +5,19 @@
#include <Nazara/Shader/Ast/AstOptimizer.hpp>
#include <Nazara/Shader/Debug.hpp>
namespace Nz
namespace Nz::ShaderAst
{
inline StatementPtr Optimize(const StatementPtr& ast)
{
AstOptimizer optimize;
return optimize.Optimise(ast);
}
inline StatementPtr Optimize(const StatementPtr& ast, UInt64 enabledConditions)
{
AstOptimizer optimize;
return optimize.Optimise(ast, enabledConditions);
}
}
#include <Nazara/Shader/DebugOff.hpp>

View File

@@ -27,6 +27,7 @@ namespace Nz
struct States
{
Nz::UInt64 enabledOptions = 0;
bool optimize = false;
bool sanitized = false;
};
};