Shader: Rename ConstantIndexExpression to ConstantExpression
This commit is contained in:
parent
3a31c77524
commit
996b5ef85c
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ namespace Nz::ShaderAst
|
|||
/* Nothing to do */
|
||||
}
|
||||
|
||||
void AstRecursiveVisitor::Visit(ConstantIndexExpression& /*node*/)
|
||||
void AstRecursiveVisitor::Visit(ConstantExpression& /*node*/)
|
||||
{
|
||||
/* Nothing to do */
|
||||
}
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ namespace Nz::ShaderAst
|
|||
Node(expr);
|
||||
}
|
||||
|
||||
void AstSerializerBase::Serialize(ConstantIndexExpression& node)
|
||||
void AstSerializerBase::Serialize(ConstantExpression& node)
|
||||
{
|
||||
SizeT(node.constantId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue