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(CallMethodExpression& node);
virtual ExpressionPtr Clone(CastExpression& node); virtual ExpressionPtr Clone(CastExpression& node);
virtual ExpressionPtr Clone(ConditionalExpression& node); virtual ExpressionPtr Clone(ConditionalExpression& node);
virtual ExpressionPtr Clone(ConstantIndexExpression& node); virtual ExpressionPtr Clone(ConstantExpression& node);
virtual ExpressionPtr Clone(ConstantValueExpression& node); virtual ExpressionPtr Clone(ConstantValueExpression& node);
virtual ExpressionPtr Clone(IdentifierExpression& node); virtual ExpressionPtr Clone(IdentifierExpression& node);
virtual ExpressionPtr Clone(IntrinsicExpression& node); virtual ExpressionPtr Clone(IntrinsicExpression& node);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -140,6 +140,14 @@ namespace Nz::ShaderAst
ExpressionPtr truePath; 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 struct NAZARA_SHADER_API ConstantValueExpression : Expression
{ {
NodeType GetType() const override; NodeType GetType() const override;
@ -148,14 +156,6 @@ namespace Nz::ShaderAst
ShaderAst::ConstantValue value; 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 struct NAZARA_SHADER_API IdentifierExpression : Expression
{ {
NodeType GetType() const override; NodeType GetType() const override;

View File

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

View File

@ -90,7 +90,7 @@ namespace Nz
void Visit(ShaderAst::CastExpression& node) override; void Visit(ShaderAst::CastExpression& node) override;
void Visit(ShaderAst::ConditionalExpression& node) override; void Visit(ShaderAst::ConditionalExpression& node) override;
void Visit(ShaderAst::ConstantValueExpression& 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::IntrinsicExpression& node) override;
void Visit(ShaderAst::SwizzleExpression& node) override; void Visit(ShaderAst::SwizzleExpression& node) override;
void Visit(ShaderAst::VariableExpression& node) override; void Visit(ShaderAst::VariableExpression& node) override;

View File

@ -303,9 +303,9 @@ namespace Nz::ShaderAst
return clone; 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->constantId = node.constantId;
clone->cachedExpressionType = node.cachedExpressionType; clone->cachedExpressionType = node.cachedExpressionType;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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