Rebase fix

This commit is contained in:
Jérôme Leclercq
2022-03-15 08:35:57 +01:00
parent 6bd9f1a9e4
commit 56c6eff7f8
4 changed files with 13 additions and 27 deletions

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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)
{