Shader/MultiStatement: Remove sectionName
This commit is contained in:
@@ -236,7 +236,6 @@ namespace Nz::ShaderAst
|
||||
StatementPtr AstCloner::Clone(MultiStatement& node)
|
||||
{
|
||||
auto clone = std::make_unique<MultiStatement>();
|
||||
clone->sectionName = node.sectionName;
|
||||
clone->statements.reserve(node.statements.size());
|
||||
for (auto& statement : node.statements)
|
||||
clone->statements.push_back(CloneStatement(statement));
|
||||
|
||||
@@ -347,8 +347,6 @@ namespace Nz::ShaderAst
|
||||
|
||||
void AstSerializerBase::Serialize(MultiStatement& node)
|
||||
{
|
||||
Value(node.sectionName);
|
||||
|
||||
Container(node.statements);
|
||||
for (auto& statement : node.statements)
|
||||
Node(statement);
|
||||
|
||||
@@ -1536,7 +1536,6 @@ namespace Nz::ShaderAst
|
||||
StatementPtr SanitizeVisitor::Clone(MultiStatement& node)
|
||||
{
|
||||
auto clone = std::make_unique<MultiStatement>();
|
||||
clone->sectionName = node.sectionName;
|
||||
clone->statements.reserve(node.statements.size());
|
||||
|
||||
std::vector<StatementPtr>* previousList = m_context->currentStatementList;
|
||||
|
||||
@@ -205,13 +205,30 @@ namespace Nz
|
||||
|
||||
targetModule->rootNode->Visit(state.previsitor);
|
||||
|
||||
if (!state.previsitor.entryPoint)
|
||||
throw std::runtime_error("not entry point found");
|
||||
|
||||
assert(state.previsitor.entryPoint->entryStage.HasValue());
|
||||
m_currentState->stage = state.previsitor.entryPoint->entryStage.GetResultingValue();
|
||||
|
||||
// Code generation
|
||||
AppendHeader();
|
||||
|
||||
for (const auto& importedModule : targetModule->importedModules)
|
||||
{
|
||||
AppendComment("Module " + importedModule.module->metadata->moduleId.ToString());
|
||||
AppendLine();
|
||||
|
||||
m_currentState->moduleSuffix = importedModule.identifier;
|
||||
importedModule.module->rootNode->Visit(*this);
|
||||
|
||||
AppendLine();
|
||||
}
|
||||
|
||||
if (!targetModule->importedModules.empty())
|
||||
{
|
||||
AppendComment("Main file");
|
||||
AppendLine();
|
||||
}
|
||||
|
||||
m_currentState->moduleSuffix = {};
|
||||
@@ -514,6 +531,21 @@ namespace Nz
|
||||
AppendLine();
|
||||
AppendLine();
|
||||
|
||||
// Comments
|
||||
std::string fileTitle;
|
||||
|
||||
assert(m_currentState->stage);
|
||||
switch (*m_currentState->stage)
|
||||
{
|
||||
case ShaderStageType::Fragment: fileTitle += "fragment shader - "; break;
|
||||
case ShaderStageType::Vertex: fileTitle += "vertex shader - "; break;
|
||||
}
|
||||
|
||||
fileTitle += "this file was generated by Nazara Engine";
|
||||
|
||||
AppendComment(fileTitle);
|
||||
AppendLine();
|
||||
|
||||
// Extensions
|
||||
|
||||
std::vector<std::string> requiredExtensions;
|
||||
@@ -1278,13 +1310,7 @@ namespace Nz
|
||||
|
||||
void GlslWriter::Visit(ShaderAst::MultiStatement& node)
|
||||
{
|
||||
if (!node.sectionName.empty())
|
||||
AppendComment(node.sectionName);
|
||||
|
||||
AppendStatementList(node.statements);
|
||||
|
||||
if (!node.sectionName.empty())
|
||||
AppendComment("End: " + node.sectionName);
|
||||
}
|
||||
|
||||
void GlslWriter::Visit(ShaderAst::NoOpStatement& /*node*/)
|
||||
|
||||
@@ -1184,13 +1184,7 @@ namespace Nz
|
||||
|
||||
void LangWriter::Visit(ShaderAst::MultiStatement& node)
|
||||
{
|
||||
if (!node.sectionName.empty())
|
||||
AppendComment(node.sectionName);
|
||||
|
||||
AppendStatementList(node.statements);
|
||||
|
||||
if (!node.sectionName.empty())
|
||||
AppendComment("End: " + node.sectionName);
|
||||
}
|
||||
|
||||
void LangWriter::Visit(ShaderAst::NoOpStatement& /*node*/)
|
||||
|
||||
Reference in New Issue
Block a user