Replace const ShaderAst::StatementPtr& by ShaderAst::Statement& in input
This commit is contained in:
@@ -872,7 +872,7 @@ std::unique_ptr<Nz::ShaderAst::DeclareFunctionStatement> ShaderGraph::ToFunction
|
||||
|
||||
qDebug() << shaderNode->name() << node->id();
|
||||
if (auto it = variableExpressions.find(BuildKey(node->id(), portIndex)); it != variableExpressions.end())
|
||||
return Nz::ShaderAst::Clone(it->second);
|
||||
return Nz::ShaderAst::Clone(*it->second);
|
||||
|
||||
auto it = usageCount.find(BuildKey(node->id(), portIndex));
|
||||
assert(it != usageCount.end());
|
||||
@@ -925,7 +925,7 @@ std::unique_ptr<Nz::ShaderAst::DeclareFunctionStatement> ShaderGraph::ToFunction
|
||||
else
|
||||
varExpression = std::move(expression);
|
||||
|
||||
variableExpressions[BuildKey(node->id(), portIndex)] = Nz::ShaderAst::Clone(varExpression);
|
||||
variableExpressions[BuildKey(node->id(), portIndex)] = Nz::ShaderAst::Clone(*varExpression);
|
||||
|
||||
return varExpression;
|
||||
}
|
||||
|
||||
@@ -66,10 +66,10 @@ void CodeOutputWidget::Refresh()
|
||||
|
||||
if (m_optimisationCheckbox->isChecked())
|
||||
{
|
||||
shaderAst = Nz::ShaderAst::Sanitize(shaderAst);
|
||||
shaderAst = Nz::ShaderAst::Sanitize(*shaderAst);
|
||||
|
||||
Nz::ShaderAst::AstOptimizer optimiser;
|
||||
shaderAst = optimiser.Optimise(shaderAst, enabledConditions);
|
||||
shaderAst = optimiser.Optimise(*shaderAst, enabledConditions);
|
||||
}
|
||||
|
||||
Nz::ShaderWriter::States states;
|
||||
@@ -82,21 +82,21 @@ void CodeOutputWidget::Refresh()
|
||||
case OutputLanguage::GLSL:
|
||||
{
|
||||
Nz::GlslWriter writer;
|
||||
output = writer.Generate(ShaderGraph::ToShaderStageType(m_shaderGraph.GetType()), shaderAst, states);
|
||||
output = writer.Generate(ShaderGraph::ToShaderStageType(m_shaderGraph.GetType()), *shaderAst, bindingMapping, states);
|
||||
break;
|
||||
}
|
||||
|
||||
case OutputLanguage::Nazalang:
|
||||
{
|
||||
Nz::LangWriter writer;
|
||||
output = writer.Generate(shaderAst, states);
|
||||
output = writer.Generate(*shaderAst, states);
|
||||
break;
|
||||
}
|
||||
|
||||
case OutputLanguage::SpirV:
|
||||
{
|
||||
Nz::SpirvWriter writer;
|
||||
std::vector<std::uint32_t> spirv = writer.Generate(shaderAst, states);
|
||||
std::vector<std::uint32_t> spirv = writer.Generate(*shaderAst, states);
|
||||
|
||||
Nz::SpirvPrinter printer;
|
||||
output = printer.Print(spirv.data(), spirv.size());
|
||||
|
||||
Reference in New Issue
Block a user