Shader: Rename ConstantIndexExpression to ConstantExpression

This commit is contained in:
Jérôme Leclercq 2021-07-08 15:24:22 +02:00
parent 3a31c77524
commit 996b5ef85c
16 changed files with 26 additions and 26 deletions

View File

@ -46,7 +46,7 @@ namespace Nz::ShaderAst
virtual ExpressionPtr Clone(CallMethodExpression& node);
virtual ExpressionPtr Clone(CastExpression& node);
virtual ExpressionPtr Clone(ConditionalExpression& node);
virtual ExpressionPtr Clone(ConstantIndexExpression& node);
virtual ExpressionPtr Clone(ConstantExpression& node);
virtual ExpressionPtr Clone(ConstantValueExpression& node);
virtual ExpressionPtr Clone(IdentifierExpression& node);
virtual ExpressionPtr Clone(IntrinsicExpression& node);

View File

@ -34,8 +34,8 @@ NAZARA_SHADERAST_EXPRESSION(CallFunctionExpression)
NAZARA_SHADERAST_EXPRESSION(CallMethodExpression)
NAZARA_SHADERAST_EXPRESSION(CastExpression)
NAZARA_SHADERAST_EXPRESSION(ConditionalExpression)
NAZARA_SHADERAST_EXPRESSION(ConstantExpression)
NAZARA_SHADERAST_EXPRESSION(ConstantValueExpression)
NAZARA_SHADERAST_EXPRESSION(ConstantIndexExpression)
NAZARA_SHADERAST_EXPRESSION(IdentifierExpression)
NAZARA_SHADERAST_EXPRESSION(IntrinsicExpression)
NAZARA_SHADERAST_EXPRESSION(SwizzleExpression)

View File

@ -43,7 +43,7 @@ namespace Nz::ShaderAst
ExpressionPtr Clone(BinaryExpression& node) override;
ExpressionPtr Clone(CastExpression& node) override;
ExpressionPtr Clone(ConditionalExpression& node) override;
ExpressionPtr Clone(ConstantIndexExpression& node) override;
ExpressionPtr Clone(ConstantExpression& node) override;
ExpressionPtr Clone(UnaryExpression& node) override;
StatementPtr Clone(BranchStatement& node) override;
StatementPtr Clone(ConditionalStatement& node) override;

View File

@ -29,7 +29,7 @@ namespace Nz::ShaderAst
void Visit(CastExpression& node) override;
void Visit(ConditionalExpression& node) override;
void Visit(ConstantValueExpression& node) override;
void Visit(ConstantIndexExpression& node) override;
void Visit(ConstantExpression& node) override;
void Visit(IdentifierExpression& node) override;
void Visit(IntrinsicExpression& node) override;
void Visit(SwizzleExpression& node) override;

View File

@ -30,7 +30,7 @@ namespace Nz::ShaderAst
void Serialize(CallFunctionExpression& node);
void Serialize(CallMethodExpression& node);
void Serialize(CastExpression& node);
void Serialize(ConstantIndexExpression& node);
void Serialize(ConstantExpression& node);
void Serialize(ConditionalExpression& node);
void Serialize(ConstantValueExpression& node);
void Serialize(IdentifierExpression& node);

View File

@ -40,7 +40,7 @@ namespace Nz::ShaderAst
void Visit(CastExpression& node) override;
void Visit(ConditionalExpression& node) override;
void Visit(ConstantValueExpression& node) override;
void Visit(ConstantIndexExpression& node) override;
void Visit(ConstantExpression& node) override;
void Visit(IdentifierExpression& node) override;
void Visit(IntrinsicExpression& node) override;
void Visit(SwizzleExpression& node) override;

View File

@ -140,6 +140,14 @@ namespace Nz::ShaderAst
ExpressionPtr truePath;
};
struct NAZARA_SHADER_API ConstantExpression : Expression
{
NodeType GetType() const override;
void Visit(AstExpressionVisitor& visitor) override;
std::size_t constantId;
};
struct NAZARA_SHADER_API ConstantValueExpression : Expression
{
NodeType GetType() const override;
@ -148,14 +156,6 @@ namespace Nz::ShaderAst
ShaderAst::ConstantValue value;
};
struct NAZARA_SHADER_API ConstantIndexExpression : Expression
{
NodeType GetType() const override;
void Visit(AstExpressionVisitor& visitor) override;
std::size_t constantId;
};
struct NAZARA_SHADER_API IdentifierExpression : Expression
{
NodeType GetType() const override;

View File

@ -55,7 +55,7 @@ namespace Nz::ShaderAst
ExpressionPtr Clone(CastExpression& node) override;
ExpressionPtr Clone(ConditionalExpression& node) override;
ExpressionPtr Clone(ConstantValueExpression& node) override;
ExpressionPtr Clone(ConstantIndexExpression& node) override;
ExpressionPtr Clone(ConstantExpression& node) override;
ExpressionPtr Clone(IdentifierExpression& node) override;
ExpressionPtr Clone(IntrinsicExpression& node) override;
ExpressionPtr Clone(SwizzleExpression& node) override;

View File

@ -90,7 +90,7 @@ namespace Nz
void Visit(ShaderAst::CastExpression& node) override;
void Visit(ShaderAst::ConditionalExpression& node) override;
void Visit(ShaderAst::ConstantValueExpression& node) override;
void Visit(ShaderAst::ConstantIndexExpression& node) override;
void Visit(ShaderAst::ConstantExpression& node) override;
void Visit(ShaderAst::IntrinsicExpression& node) override;
void Visit(ShaderAst::SwizzleExpression& node) override;
void Visit(ShaderAst::VariableExpression& node) override;

View File

@ -303,9 +303,9 @@ namespace Nz::ShaderAst
return clone;
}
ExpressionPtr AstCloner::Clone(ConstantIndexExpression& node)
ExpressionPtr AstCloner::Clone(ConstantExpression& node)
{
auto clone = std::make_unique<ConstantIndexExpression>();
auto clone = std::make_unique<ConstantExpression>();
clone->constantId = node.constantId;
clone->cachedExpressionType = node.cachedExpressionType;

View File

@ -839,7 +839,7 @@ namespace Nz::ShaderAst
return AstCloner::Clone(*node.falsePath);
}
ExpressionPtr AstOptimizer::Clone(ConstantIndexExpression& node)
ExpressionPtr AstOptimizer::Clone(ConstantExpression& node)
{
if (!m_options.constantQueryCallback)
return AstCloner::Clone(node);

View File

@ -67,7 +67,7 @@ namespace Nz::ShaderAst
/* Nothing to do */
}
void AstRecursiveVisitor::Visit(ConstantIndexExpression& /*node*/)
void AstRecursiveVisitor::Visit(ConstantExpression& /*node*/)
{
/* Nothing to do */
}

View File

@ -111,7 +111,7 @@ namespace Nz::ShaderAst
Node(expr);
}
void AstSerializerBase::Serialize(ConstantIndexExpression& node)
void AstSerializerBase::Serialize(ConstantExpression& node)
{
SizeT(node.constantId);
}

View File

@ -67,7 +67,7 @@ namespace Nz::ShaderAst
m_expressionCategory = ExpressionCategory::RValue;
}
void ShaderAstValueCategory::Visit(ConstantIndexExpression& /*node*/)
void ShaderAstValueCategory::Visit(ConstantExpression& /*node*/)
{
m_expressionCategory = ExpressionCategory::LValue;
}

View File

@ -577,7 +577,7 @@ namespace Nz::ShaderAst
return clone;
}
ExpressionPtr SanitizeVisitor::Clone(ConstantIndexExpression& node)
ExpressionPtr SanitizeVisitor::Clone(ConstantExpression& node)
{
if (node.constantId >= m_context->constantValues.size())
throw AstError{ "invalid constant index " + std::to_string(node.constantId) };
@ -601,8 +601,8 @@ namespace Nz::ShaderAst
{
case Identifier::Type::Constant:
{
// Replace IdentifierExpression by ConstantIndexExpression
auto constantExpr = std::make_unique<ConstantIndexExpression>();
// Replace IdentifierExpression by ConstantExpression
auto constantExpr = std::make_unique<ConstantExpression>();
constantExpr->cachedExpressionType = GetExpressionType(m_context->constantValues[identifier->index]);
constantExpr->constantId = identifier->index;

View File

@ -664,7 +664,7 @@ namespace Nz
}, node.value);
}
void LangWriter::Visit(ShaderAst::ConstantIndexExpression& node)
void LangWriter::Visit(ShaderAst::ConstantExpression& node)
{
Append(Retrieve(m_currentState->constantNames, node.constantId));
}