Rebase fix
This commit is contained in:
@@ -731,14 +731,14 @@ namespace Nz::ShaderAst
|
||||
|
||||
ModulePtr AstConstantPropagationVisitor::Process(const Module& shaderModule)
|
||||
{
|
||||
auto rootnode = static_unique_pointer_cast<MultiStatement>(Process(*shaderModule.rootNode));
|
||||
auto rootnode = StaticUniquePointerCast<MultiStatement>(Process(*shaderModule.rootNode));
|
||||
|
||||
return std::make_shared<Module>(shaderModule.metadata, std::move(rootnode), shaderModule.importedModules);
|
||||
}
|
||||
|
||||
ModulePtr AstConstantPropagationVisitor::Process(const Module& shaderModule, const Options& options)
|
||||
{
|
||||
auto rootNode = static_unique_pointer_cast<MultiStatement>(Process(*shaderModule.rootNode, options));
|
||||
auto rootNode = StaticUniquePointerCast<MultiStatement>(Process(*shaderModule.rootNode, options));
|
||||
|
||||
return std::make_shared<Module>(shaderModule.metadata, std::move(rootNode), shaderModule.importedModules);
|
||||
}
|
||||
|
||||
@@ -9,15 +9,6 @@
|
||||
|
||||
namespace Nz::ShaderAst
|
||||
{
|
||||
namespace
|
||||
{
|
||||
template<typename T, typename U>
|
||||
std::unique_ptr<T> static_unique_pointer_cast(std::unique_ptr<U>&& ptr)
|
||||
{
|
||||
return std::unique_ptr<T>(static_cast<T*>(ptr.release()));
|
||||
}
|
||||
}
|
||||
|
||||
struct EliminateUnusedPassVisitor::Context
|
||||
{
|
||||
const DependencyCheckerVisitor::UsageSet& usageSet;
|
||||
@@ -25,7 +16,7 @@ namespace Nz::ShaderAst
|
||||
|
||||
ModulePtr EliminateUnusedPassVisitor::Process(const Module& shaderModule, const DependencyCheckerVisitor::UsageSet& usageSet)
|
||||
{
|
||||
auto rootNode = static_unique_pointer_cast<MultiStatement>(Process(*shaderModule.rootNode, usageSet));
|
||||
auto rootNode = StaticUniquePointerCast<MultiStatement>(Process(*shaderModule.rootNode, usageSet));
|
||||
|
||||
return std::make_shared<Module>(shaderModule.metadata, std::move(rootNode), shaderModule.importedModules);
|
||||
}
|
||||
|
||||
@@ -458,7 +458,7 @@ namespace Nz::ShaderAst
|
||||
aliasType.targetType = std::make_unique<ContainedType>();
|
||||
aliasType.targetType->type = *targetExpr->cachedExpressionType;
|
||||
|
||||
auto clone = static_unique_pointer_cast<AliasValueExpression>(AstCloner::Clone(node));
|
||||
auto clone = StaticUniquePointerCast<AliasValueExpression>(AstCloner::Clone(node));
|
||||
clone->cachedExpressionType = std::move(aliasType);
|
||||
|
||||
return clone;
|
||||
@@ -709,7 +709,7 @@ namespace Nz::ShaderAst
|
||||
|
||||
ExpressionPtr SanitizeVisitor::Clone(IntrinsicExpression& node)
|
||||
{
|
||||
auto clone = static_unique_pointer_cast<IntrinsicExpression>(AstCloner::Clone(node));
|
||||
auto clone = StaticUniquePointerCast<IntrinsicExpression>(AstCloner::Clone(node));
|
||||
Validate(*clone);
|
||||
|
||||
return clone;
|
||||
@@ -867,7 +867,7 @@ namespace Nz::ShaderAst
|
||||
|
||||
StatementPtr SanitizeVisitor::Clone(DeclareAliasStatement& node)
|
||||
{
|
||||
auto clone = static_unique_pointer_cast<DeclareAliasStatement>(AstCloner::Clone(node));
|
||||
auto clone = StaticUniquePointerCast<DeclareAliasStatement>(AstCloner::Clone(node));
|
||||
Validate(*clone);
|
||||
|
||||
if (m_context->options.removeAliases)
|
||||
@@ -1452,7 +1452,7 @@ namespace Nz::ShaderAst
|
||||
StatementPtr SanitizeVisitor::Clone(ImportStatement& node)
|
||||
{
|
||||
if (!m_context->options.moduleResolver)
|
||||
return static_unique_pointer_cast<ImportStatement>(AstCloner::Clone(node));
|
||||
return StaticUniquePointerCast<ImportStatement>(AstCloner::Clone(node));
|
||||
|
||||
ModulePtr targetModule = m_context->options.moduleResolver->Resolve(node.moduleName);
|
||||
if (!targetModule)
|
||||
@@ -2439,7 +2439,7 @@ namespace Nz::ShaderAst
|
||||
// First pass, evaluate everything except function code
|
||||
try
|
||||
{
|
||||
output = static_unique_pointer_cast<MultiStatement>(AstCloner::Clone(rootNode));
|
||||
output = StaticUniquePointerCast<MultiStatement>(AstCloner::Clone(rootNode));
|
||||
}
|
||||
catch (const AstError& err)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user