Shader/ShaderAst: Rename AccessMember* to Access*
This commit is contained in:
@@ -158,22 +158,22 @@ namespace Nz::ShaderAst
|
||||
return clone;
|
||||
}
|
||||
|
||||
ExpressionPtr AstCloner::Clone(AccessMemberIdentifierExpression& node)
|
||||
ExpressionPtr AstCloner::Clone(AccessIdentifierExpression& node)
|
||||
{
|
||||
auto clone = std::make_unique<AccessMemberIdentifierExpression>();
|
||||
auto clone = std::make_unique<AccessIdentifierExpression>();
|
||||
clone->memberIdentifiers = node.memberIdentifiers;
|
||||
clone->structExpr = CloneExpression(node.structExpr);
|
||||
clone->expr = CloneExpression(node.expr);
|
||||
|
||||
clone->cachedExpressionType = node.cachedExpressionType;
|
||||
|
||||
return clone;
|
||||
}
|
||||
|
||||
ExpressionPtr AstCloner::Clone(AccessMemberIndexExpression& node)
|
||||
ExpressionPtr AstCloner::Clone(AccessIndexExpression& node)
|
||||
{
|
||||
auto clone = std::make_unique<AccessMemberIndexExpression>();
|
||||
auto clone = std::make_unique<AccessIndexExpression>();
|
||||
clone->memberIndices = node.memberIndices;
|
||||
clone->structExpr = CloneExpression(node.structExpr);
|
||||
clone->expr = CloneExpression(node.expr);
|
||||
|
||||
clone->cachedExpressionType = node.cachedExpressionType;
|
||||
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
namespace Nz::ShaderAst
|
||||
{
|
||||
void AstRecursiveVisitor::Visit(AccessMemberIdentifierExpression& node)
|
||||
void AstRecursiveVisitor::Visit(AccessIdentifierExpression& node)
|
||||
{
|
||||
node.structExpr->Visit(*this);
|
||||
node.expr->Visit(*this);
|
||||
}
|
||||
|
||||
void AstRecursiveVisitor::Visit(AccessMemberIndexExpression& node)
|
||||
void AstRecursiveVisitor::Visit(AccessIndexExpression& node)
|
||||
{
|
||||
node.structExpr->Visit(*this);
|
||||
node.expr->Visit(*this);
|
||||
}
|
||||
|
||||
void AstRecursiveVisitor::Visit(AssignExpression& node)
|
||||
|
||||
@@ -33,18 +33,18 @@ namespace Nz::ShaderAst
|
||||
};
|
||||
}
|
||||
|
||||
void AstSerializerBase::Serialize(AccessMemberIdentifierExpression& node)
|
||||
void AstSerializerBase::Serialize(AccessIdentifierExpression& node)
|
||||
{
|
||||
Node(node.structExpr);
|
||||
Node(node.expr);
|
||||
|
||||
Container(node.memberIdentifiers);
|
||||
for (std::string& identifier : node.memberIdentifiers)
|
||||
Value(identifier);
|
||||
}
|
||||
|
||||
void AstSerializerBase::Serialize(AccessMemberIndexExpression& node)
|
||||
void AstSerializerBase::Serialize(AccessIndexExpression& node)
|
||||
{
|
||||
Node(node.structExpr);
|
||||
Node(node.expr);
|
||||
|
||||
Container(node.memberIndices);
|
||||
for (std::size_t& identifier : node.memberIndices)
|
||||
|
||||
@@ -13,14 +13,14 @@ namespace Nz::ShaderAst
|
||||
return m_expressionCategory;
|
||||
}
|
||||
|
||||
void ShaderAstValueCategory::Visit(AccessMemberIdentifierExpression& node)
|
||||
void ShaderAstValueCategory::Visit(AccessIdentifierExpression& node)
|
||||
{
|
||||
node.structExpr->Visit(*this);
|
||||
node.expr->Visit(*this);
|
||||
}
|
||||
|
||||
void ShaderAstValueCategory::Visit(AccessMemberIndexExpression& node)
|
||||
void ShaderAstValueCategory::Visit(AccessIndexExpression& node)
|
||||
{
|
||||
node.structExpr->Visit(*this);
|
||||
node.expr->Visit(*this);
|
||||
}
|
||||
|
||||
void ShaderAstValueCategory::Visit(AssignExpression& /*node*/)
|
||||
|
||||
@@ -116,9 +116,9 @@ namespace Nz::ShaderAst
|
||||
return member.type;
|
||||
}
|
||||
|
||||
ExpressionPtr SanitizeVisitor::Clone(AccessMemberIdentifierExpression& node)
|
||||
ExpressionPtr SanitizeVisitor::Clone(AccessIdentifierExpression& node)
|
||||
{
|
||||
auto structExpr = CloneExpression(MandatoryExpr(node.structExpr));
|
||||
auto structExpr = CloneExpression(MandatoryExpr(node.expr));
|
||||
|
||||
const ExpressionType& exprType = GetExpressionType(*structExpr);
|
||||
if (IsVectorType(exprType))
|
||||
@@ -177,9 +177,9 @@ namespace Nz::ShaderAst
|
||||
return swizzle;
|
||||
}
|
||||
|
||||
// Transform to AccessMemberIndexExpression
|
||||
auto accessMemberIndex = std::make_unique<AccessMemberIndexExpression>();
|
||||
accessMemberIndex->structExpr = std::move(structExpr);
|
||||
// Transform to AccessIndexExpression
|
||||
auto accessMemberIndex = std::make_unique<AccessIndexExpression>();
|
||||
accessMemberIndex->expr = std::move(structExpr);
|
||||
|
||||
StackArray<std::size_t> structIndices = NazaraStackArrayNoInit(std::size_t, node.memberIdentifiers.size());
|
||||
|
||||
|
||||
@@ -650,11 +650,11 @@ namespace Nz
|
||||
Append(")");
|
||||
}
|
||||
|
||||
void GlslWriter::Visit(ShaderAst::AccessMemberIndexExpression& node)
|
||||
void GlslWriter::Visit(ShaderAst::AccessIndexExpression& node)
|
||||
{
|
||||
Visit(node.structExpr, true);
|
||||
Visit(node.expr, true);
|
||||
|
||||
const ShaderAst::ExpressionType& exprType = GetExpressionType(*node.structExpr);
|
||||
const ShaderAst::ExpressionType& exprType = GetExpressionType(*node.expr);
|
||||
assert(IsStructType(exprType));
|
||||
|
||||
AppendField(std::get<ShaderAst::StructType>(exprType).structIndex, node.memberIndices.data(), node.memberIndices.size());
|
||||
|
||||
@@ -438,11 +438,11 @@ namespace Nz
|
||||
Append(")");
|
||||
}
|
||||
|
||||
void LangWriter::Visit(ShaderAst::AccessMemberIndexExpression& node)
|
||||
void LangWriter::Visit(ShaderAst::AccessIndexExpression& node)
|
||||
{
|
||||
Visit(node.structExpr, true);
|
||||
Visit(node.expr, true);
|
||||
|
||||
const ShaderAst::ExpressionType& exprType = GetExpressionType(*node.structExpr);
|
||||
const ShaderAst::ExpressionType& exprType = GetExpressionType(*node.expr);
|
||||
assert(IsStructType(exprType));
|
||||
|
||||
AppendField(std::get<ShaderAst::StructType>(exprType).structIndex, node.memberIndices.data(), node.memberIndices.size());
|
||||
|
||||
@@ -816,8 +816,8 @@ namespace Nz::ShaderLang
|
||||
return lhs;
|
||||
|
||||
if (currentOp.type == TokenType::Dot)
|
||||
{
|
||||
std::unique_ptr<ShaderAst::AccessMemberIdentifierExpression> accessMemberNode = std::make_unique<ShaderAst::AccessMemberIdentifierExpression>();
|
||||
{
|
||||
std::unique_ptr<ShaderAst::AccessIdentifierExpression> accessMemberNode = std::make_unique<ShaderAst::AccessIdentifierExpression>();
|
||||
accessMemberNode->expr = std::move(lhs);
|
||||
|
||||
do
|
||||
@@ -833,7 +833,7 @@ namespace Nz::ShaderLang
|
||||
{
|
||||
if (Peek().type == TokenType::OpenParenthesis)
|
||||
{
|
||||
auto parameters = ParseParameters();
|
||||
auto parameters = ParseParameters();
|
||||
parameters.insert(parameters.begin(), std::move(accessMemberNode->expr));
|
||||
|
||||
lhs = ShaderBuilder::Intrinsic(ShaderAst::IntrinsicType::SampleTexture, std::move(parameters));
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace Nz
|
||||
return *m_variables[varIndex];
|
||||
}
|
||||
|
||||
void SpirvAstVisitor::Visit(ShaderAst::AccessMemberIndexExpression& node)
|
||||
void SpirvAstVisitor::Visit(ShaderAst::AccessIndexExpression& node)
|
||||
{
|
||||
SpirvExpressionLoad accessMemberVisitor(m_writer, *this, *m_currentBlock);
|
||||
PushResultId(accessMemberVisitor.Evaluate(node));
|
||||
|
||||
@@ -40,9 +40,9 @@ namespace Nz
|
||||
}, m_value);
|
||||
}
|
||||
|
||||
void SpirvExpressionLoad::Visit(ShaderAst::AccessMemberIndexExpression& node)
|
||||
void SpirvExpressionLoad::Visit(ShaderAst::AccessIndexExpression& node)
|
||||
{
|
||||
node.structExpr->Visit(*this);
|
||||
node.expr->Visit(*this);
|
||||
|
||||
const ShaderAst::ExpressionType& exprType = GetExpressionType(node);
|
||||
|
||||
|
||||
@@ -37,9 +37,9 @@ namespace Nz
|
||||
}, m_value);
|
||||
}
|
||||
|
||||
void SpirvExpressionStore::Visit(ShaderAst::AccessMemberIndexExpression& node)
|
||||
void SpirvExpressionStore::Visit(ShaderAst::AccessIndexExpression& node)
|
||||
{
|
||||
node.structExpr->Visit(*this);
|
||||
node.expr->Visit(*this);
|
||||
|
||||
const ShaderAst::ExpressionType& exprType = GetExpressionType(node);
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ namespace Nz
|
||||
});
|
||||
}
|
||||
|
||||
void Visit(ShaderAst::AccessMemberIndexExpression& node) override
|
||||
void Visit(ShaderAst::AccessIndexExpression& node) override
|
||||
{
|
||||
AstRecursiveVisitor::Visit(node);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user