Shader: Rename VariableExpression to VariableValueExpression
This commit is contained in:
@@ -471,9 +471,9 @@ namespace Nz::ShaderAst
|
||||
return clone;
|
||||
}
|
||||
|
||||
ExpressionPtr AstCloner::Clone(VariableExpression& node)
|
||||
ExpressionPtr AstCloner::Clone(VariableValueExpression& node)
|
||||
{
|
||||
auto clone = std::make_unique<VariableExpression>();
|
||||
auto clone = std::make_unique<VariableValueExpression>();
|
||||
clone->variableId = node.variableId;
|
||||
|
||||
clone->cachedExpressionType = node.cachedExpressionType;
|
||||
|
||||
@@ -104,7 +104,7 @@ namespace Nz::ShaderAst
|
||||
node.expression->Visit(*this);
|
||||
}
|
||||
|
||||
void AstRecursiveVisitor::Visit(VariableExpression& /*node*/)
|
||||
void AstRecursiveVisitor::Visit(VariableValueExpression& /*node*/)
|
||||
{
|
||||
/* Nothing to do */
|
||||
}
|
||||
|
||||
@@ -177,7 +177,7 @@ namespace Nz::ShaderAst
|
||||
Enum(node.components[i]);
|
||||
}
|
||||
|
||||
void AstSerializerBase::Serialize(VariableExpression& node)
|
||||
void AstSerializerBase::Serialize(VariableValueExpression& node)
|
||||
{
|
||||
SizeT(node.variableId);
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ namespace Nz::ShaderAst
|
||||
}
|
||||
}
|
||||
|
||||
void ShaderAstValueCategory::Visit(VariableExpression& /*node*/)
|
||||
void ShaderAstValueCategory::Visit(VariableValueExpression& /*node*/)
|
||||
{
|
||||
m_expressionCategory = ExpressionCategory::LValue;
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ namespace Nz::ShaderAst
|
||||
m_currentVariableDeclIndex = {};
|
||||
}
|
||||
|
||||
void DependencyCheckerVisitor::Visit(VariableExpression& node)
|
||||
void DependencyCheckerVisitor::Visit(VariableValueExpression& node)
|
||||
{
|
||||
assert(m_currentFunctionIndex);
|
||||
if (m_currentVariableDeclIndex)
|
||||
|
||||
@@ -157,9 +157,9 @@ namespace Nz::ShaderAst
|
||||
return clone;
|
||||
}
|
||||
|
||||
ExpressionPtr IndexRemapperVisitor::Clone(VariableExpression& node)
|
||||
ExpressionPtr IndexRemapperVisitor::Clone(VariableValueExpression& node)
|
||||
{
|
||||
VariableExpressionPtr clone = static_unique_pointer_cast<VariableExpression>(AstCloner::Clone(node));
|
||||
VariableValueExpressionPtr clone = static_unique_pointer_cast<VariableValueExpression>(AstCloner::Clone(node));
|
||||
|
||||
assert(clone->variableId);
|
||||
clone->variableId = Retrieve(m_context->newVarIndices, clone->variableId);
|
||||
|
||||
@@ -684,9 +684,9 @@ namespace Nz::ShaderAst
|
||||
return clone;
|
||||
}
|
||||
|
||||
ExpressionPtr SanitizeVisitor::Clone(VariableExpression& node)
|
||||
ExpressionPtr SanitizeVisitor::Clone(VariableValueExpression& node)
|
||||
{
|
||||
auto clone = static_unique_pointer_cast<VariableExpression>(AstCloner::Clone(node));
|
||||
auto clone = static_unique_pointer_cast<VariableValueExpression>(AstCloner::Clone(node));
|
||||
Validate(*clone);
|
||||
|
||||
return clone;
|
||||
@@ -1678,7 +1678,7 @@ namespace Nz::ShaderAst
|
||||
case IdentifierCategory::Variable:
|
||||
{
|
||||
// Replace IdentifierExpression by VariableExpression
|
||||
auto varExpr = std::make_unique<VariableExpression>();
|
||||
auto varExpr = std::make_unique<VariableValueExpression>();
|
||||
varExpr->cachedExpressionType = m_context->variableTypes.Retrieve(identifierData->index);
|
||||
varExpr->variableId = identifierData->index;
|
||||
|
||||
@@ -1731,7 +1731,7 @@ namespace Nz::ShaderAst
|
||||
auto variableDeclaration = ShaderBuilder::DeclareVariable("cachedResult", std::move(expression)); //< Validation will prevent name-clash if required
|
||||
Validate(*variableDeclaration);
|
||||
|
||||
auto varExpr = std::make_unique<VariableExpression>();
|
||||
auto varExpr = std::make_unique<VariableValueExpression>();
|
||||
varExpr->variableId = *variableDeclaration->varIndex;
|
||||
|
||||
m_context->currentStatementList->push_back(std::move(variableDeclaration));
|
||||
@@ -2903,7 +2903,7 @@ namespace Nz::ShaderAst
|
||||
node.cachedExpressionType = exprType;
|
||||
}
|
||||
|
||||
void SanitizeVisitor::Validate(VariableExpression& node)
|
||||
void SanitizeVisitor::Validate(VariableValueExpression& node)
|
||||
{
|
||||
node.cachedExpressionType = m_context->variableTypes.Retrieve(node.variableId);
|
||||
}
|
||||
|
||||
@@ -1002,7 +1002,7 @@ namespace Nz
|
||||
Visit(node.expression);
|
||||
}
|
||||
|
||||
void GlslWriter::Visit(ShaderAst::VariableExpression& node)
|
||||
void GlslWriter::Visit(ShaderAst::VariableValueExpression& node)
|
||||
{
|
||||
const std::string& varName = Retrieve(m_currentState->variableNames, node.variableId);
|
||||
Append(varName);
|
||||
|
||||
@@ -116,9 +116,9 @@ namespace Nz
|
||||
ShaderAst::Module* module;
|
||||
std::size_t currentModuleIndex;
|
||||
std::stringstream stream;
|
||||
std::unordered_map<std::size_t, Identifier> constantNames;
|
||||
std::unordered_map<std::size_t, Identifier> constants;
|
||||
std::unordered_map<std::size_t, Identifier> structs;
|
||||
std::unordered_map<std::size_t, Identifier> variableNames;
|
||||
std::unordered_map<std::size_t, Identifier> variables;
|
||||
std::vector<std::string> moduleNames;
|
||||
bool isInEntryPoint = false;
|
||||
unsigned int indentLevel = 0;
|
||||
@@ -661,8 +661,8 @@ namespace Nz
|
||||
identifier.moduleIndex = m_currentState->currentModuleIndex;
|
||||
identifier.name = std::move(constantName);
|
||||
|
||||
assert(m_currentState->constantNames.find(constantIndex) == m_currentState->constantNames.end());
|
||||
m_currentState->constantNames.emplace(constantIndex, std::move(identifier));
|
||||
assert(m_currentState->constants.find(constantIndex) == m_currentState->constants.end());
|
||||
m_currentState->constants.emplace(constantIndex, std::move(identifier));
|
||||
}
|
||||
|
||||
void LangWriter::RegisterStruct(std::size_t structIndex, std::string structName)
|
||||
@@ -681,8 +681,8 @@ namespace Nz
|
||||
identifier.moduleIndex = m_currentState->currentModuleIndex;
|
||||
identifier.name = std::move(varName);
|
||||
|
||||
assert(m_currentState->variableNames.find(varIndex) == m_currentState->variableNames.end());
|
||||
m_currentState->variableNames.emplace(varIndex, std::move(identifier));
|
||||
assert(m_currentState->variables.find(varIndex) == m_currentState->variables.end());
|
||||
m_currentState->variables.emplace(varIndex, std::move(identifier));
|
||||
}
|
||||
|
||||
void LangWriter::ScopeVisit(ShaderAst::Statement& node)
|
||||
@@ -911,7 +911,7 @@ namespace Nz
|
||||
|
||||
void LangWriter::Visit(ShaderAst::ConstantExpression& node)
|
||||
{
|
||||
AppendIdentifier(m_currentState->constantNames, node.constantId);
|
||||
AppendIdentifier(m_currentState->constants, node.constantId);
|
||||
}
|
||||
|
||||
void LangWriter::Visit(ShaderAst::DeclareExternalStatement& node)
|
||||
@@ -1201,9 +1201,9 @@ namespace Nz
|
||||
Append(componentStr[node.components[i]]);
|
||||
}
|
||||
|
||||
void LangWriter::Visit(ShaderAst::VariableExpression& node)
|
||||
void LangWriter::Visit(ShaderAst::VariableValueExpression& node)
|
||||
{
|
||||
AppendIdentifier(m_currentState->variableNames, node.variableId);
|
||||
AppendIdentifier(m_currentState->variables, node.variableId);
|
||||
}
|
||||
|
||||
void LangWriter::Visit(ShaderAst::UnaryExpression& node)
|
||||
|
||||
@@ -1106,7 +1106,7 @@ namespace Nz
|
||||
PushResultId(resultId);
|
||||
}
|
||||
|
||||
void SpirvAstVisitor::Visit(ShaderAst::VariableExpression& node)
|
||||
void SpirvAstVisitor::Visit(ShaderAst::VariableValueExpression& node)
|
||||
{
|
||||
SpirvExpressionLoad loadVisitor(m_writer, *this, *m_currentBlock);
|
||||
PushResultId(loadVisitor.Evaluate(node));
|
||||
|
||||
@@ -128,7 +128,7 @@ namespace Nz
|
||||
}, m_value);
|
||||
}
|
||||
|
||||
void SpirvExpressionLoad::Visit(ShaderAst::VariableExpression& node)
|
||||
void SpirvExpressionLoad::Visit(ShaderAst::VariableValueExpression& node)
|
||||
{
|
||||
const auto& var = m_visitor.GetVariable(node.variableId);
|
||||
m_value = Pointer{ var.storage, var.pointerId, var.pointedTypeId };
|
||||
|
||||
@@ -156,7 +156,7 @@ namespace Nz
|
||||
}, m_value);
|
||||
}
|
||||
|
||||
void SpirvExpressionStore::Visit(ShaderAst::VariableExpression& node)
|
||||
void SpirvExpressionStore::Visit(ShaderAst::VariableValueExpression& node)
|
||||
{
|
||||
const auto& var = m_visitor.GetVariable(node.variableId);
|
||||
m_value = Pointer{ var.storage, var.pointerId };
|
||||
|
||||
Reference in New Issue
Block a user